我有一个代码
#!/bin/bash
case "$*" in
"info" ) echo "INFO * * *";;
"copy" ) echo `$0 info`;;
esac
Run Code Online (Sandbox Code Playgroud)
打印这个
$ ./print.sh info
INFO * * *
$ ./print.sh copy
INFO print.sh print.sh print.sh
Run Code Online (Sandbox Code Playgroud)
如何进行打印
$ ./print.sh info
INFO * * *
$ ./print.sh copy
INFO * * *
Run Code Online (Sandbox Code Playgroud)
保留echo在复制案例中:
"copy" ) echo ???;;
Run Code Online (Sandbox Code Playgroud)
引用反引号,以便替换的星号随后不被解释为globs并扩展.$0也应引用安全措施.
"copy" ) echo "`"$0" info`";;
Run Code Online (Sandbox Code Playgroud)
最好还是$(...)代替`...`这些日子.而且无需引用"信息"或"复制".
copy) echo "$("$0" info)";;
Run Code Online (Sandbox Code Playgroud)
请注意,这echo "$(cmd)"是多余的.您可以直接调用该命令并跳过$(...)和echo.
copy) "$0" info;;
Run Code Online (Sandbox Code Playgroud)