我有一个密码
#!/bin/bash
case "$*" in
"info" ) echo "INFO * * *";;
"copy" ) echo `$0 info`;;
esac
打印此
$ ./print.sh info
INFO * * *
$ ./print.sh copy
INFO print.sh print.sh print.sh
如何打印
$ ./print.sh info
INFO * * *
$ ./print.sh copy
INFO * * *
在复制案例中保留echo
:
"copy" ) echo ???;;
答案 0 :(得分:5)
引用反引号,以便随后被替换的星号不会被解释为glob并被扩展。为安全起见,也应引用$0
。
"copy" ) echo "`"$0" info`";;
最近最好用$(...)
代替`...`
。无需引用“信息”或“副本”。
copy) echo "$("$0" info)";;
请注意,echo "$(cmd)"
是多余的。您可以直接调用该命令,而跳过$(...)
和echo
。
copy) "$0" info;;