我是编写Linux脚本的新手(事实上,我不确定正确的术语是Linux脚本还是baSH脚本(。我确实了解source
-ing和alias
的功能,例如:
alias l='ls -ltra'
我想完成的是键入以下快捷语句
php ~/path/to/longProgram.php Argument1 -x -y -z --long-switch long-switch-value
如下:
lp Argument1 -x -y -z --long-switch long-switch-value
即我可以从任何位置调用lp
的位置,以及给定的所有参数都被传递给longProgram.php
的位置。作为别名,我该怎么做?
要使对lp Argument1 -x -y -z --long-switch long-switch-value
的调用导致对php ~/path/to/longProgram.php Argument1 -x -y -z --long-switch long-switch-value
的调用,您有几个选项。最简单的方法是把它放在你的~/.bashrc:中
lp() { php "$HOME/path/to/longProgram.php" "$@"; }
alias lp='php ~/path/to/longProgram.php'
正常情况下会起作用,即使这不是一个好的做法。别名只是一个查找和替换功能,所以我看不出这不起作用的原因。但是,您需要是其主页中包含该程序的确切用户。
PS:还要验证lp
是否尚未分配给另一个命令。
我刚刚找到了一种设置别名命令并将其保存以备下次使用的方法。
nano ~/.bashrc or ~/.bash_aliases
在这个文件中添加你的别名
例如:
alias lp='php ~/path/to/longProgram.php
ctrl+x保存文件,然后
source ~/.bashrc or ~/.bash_aliases
每次作为目标用户登录时,您都可以使用alias命令。
注:
如果要使用~/.bash_aliases,请确保~/.bahrc文件具有以下命令。
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
我更喜欢使用bash_aliases来保持自定义别名的干净,并在中心化文件中进行管理。
参考:https://www.cyberciti.biz/faq/create-permanent-bash-alias-linux-unix/