【问题标题】:Terminal (Mac) create alias that includes user input终端 (Mac) 创建包含用户输入的别名
【发布时间】:2014-02-04 13:39:42
【问题描述】:

在 Mac OS 终端中,我正在学习 Unix 的基础知识。我在一个有希望的简单修复方面遇到了麻烦,但不知道从哪里开始寻找。

cd __________ && ls

这对我来说是一个很常见的模式,检查并查看我正在使用的文件夹。为了节省自己的击键次数,我想在我的 .profile 中创建一个别名

alias cd='cd && ls'

现在,明显的缺陷(对我来说并不明显)是我无法给它一个目录来实际更改为

cd ~/Documents/ && ls

这是我想做的,但不必输入最后四个字符。关于如何合并用户输入的任何想法(可能是某种 $(pbpaste) 选项?

任何帮助或建议将不胜感激。

【问题讨论】:

    标签: macos bash terminal alias .profile


    【解决方案1】:

    您需要首先为此创建 BASH 函数而不是别名:

    mycd() { cd "$1"; ls; }
    alias cd='mycd '
    

    然后像这样使用它:

    cd ~/Documents/
    

    【讨论】:

    • 然后你可以为你的函数创建一个别名:D
    • +1 好.. 对于 OP,我建议不要覆盖 cd 命令:P
    • 别名的替代品是cd () { builtin cd "$1" && ls; },尽管@gtgaxiola 建议不要覆盖内置函数是一个很好的建议。
    • 谢谢!好的,我正在尝试。在我这样做的时候覆盖cd 似乎是个坏主意(在采购后将我困在一个文件夹中)。这有帮助!
    • 最常见的用法是查找哪个 mac 进程正在使用端口,我在 ~/.bash_profile get_tcp_port() { lsof -i tcp:"$1"; } alias who_is_using="get_tcp_port" 中实现了它,然后使用 source ~/.bash_profile 刷新终端以使用新的 bash_profile,然后在终端 who_is_using 8080 中像常规别名一样使用它
    猜你喜欢
    • 2021-09-08
    • 1970-01-01
    • 2020-06-08
    • 2012-03-07
    • 2019-06-15
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多