比如说,我使用的一个程序xyz
,如果我不带任何参数运行命令,就会产生不良影响。因此,我想防止自己意外地运行xyz
不带参数的命令,但允许它带参数运行。
如何编写 shell 脚本,以便在xyz
不带参数调用时打印一条错误消息,否则将所有参数传递给程序xyz
?
答案1
您可以检查特殊变量$#:
if [ $# -eq 0 ]; then
echo "No arguments provided!"
exit 1
fi
/usr/bin/xyz "$@"
~/.bashrc
然后,为您的;添加一个别名。
alias xyz="/path/to/script.sh"
现在,每次运行时xyz
,都会启动别名。这将调用脚本来检查您是否有任何参数,并且仅xyz
在有参数时才启动真正的命令。显然,更改/usr/bin/xyz
为命令的完整路径。
答案2
大多数情况下,框架可以是
if [ "$1" ]
then
/usr/bin/xyz "$@"
else
echo "Errormessage"
fi