例如xyz,如果我不带任何参数运行命令,我使用的程序会产生不良影响。所以我想防止自己不小心运行xyz不带参数的命令,但允许它带参数运行。
我如何编写一个 shell 脚本,以便在xyz不带参数的情况下调用时它会打印一条错误消息,否则将任何和所有参数传递给xyz程序?
cuo*_*glm 11
您可以检查特殊变量$#:
if [ $# -eq 0 ]; then
echo "No arguments provided!"
exit 1
fi
/usr/bin/xyz "$@"
Run Code Online (Sandbox Code Playgroud)
然后,为您的~/.bashrc;添加别名
alias xyz="/path/to/script.sh"
Run Code Online (Sandbox Code Playgroud)
现在,每次运行时xyz,都会启动别名。这将调用脚本,该脚本检查您是否有任何参数,如果有,则仅启动真正的xyz命令。显然,更改/usr/bin/xyz为命令的完整路径。