我有一个名为filepath=/tmp/name
.
要访问该变量,我知道我可以这样做:$filepath
在我的 shell 脚本中,我试图做这样的事情(反引号是有意的)
`tail -1 $filepath_newstap.sh`
此行失败,duuh!,因为未调用变量$filepath_newstap.sh
如何附加_newstap.sh
到变量名?
请注意,反引号用于表达式评估。
利用
"$filepath"_newstap.sh
或者
${filepath}_newstap.sh
或者
$filepath\_newstap.sh
_
是标识符中的有效字符。点不是,所以外壳尝试插入$filepath_newstap
.
当您引用未定义的变量时,您可以使用set -u
它使 shell 退出并出现错误。
在变量名周围使用花括号:
`tail -1 ${filepath}_newstap.sh`
在 Bash 中:
tail -1 ${filepath}_newstap.sh