我有一个叫 filepath=/tmp/name的变量。
filepath=/tmp/name
要访问这个变量,我知道我可以这样做: $filepath
$filepath
在我的 shell 脚本中,我尝试执行类似的操作(打算使用反勾)
`tail -1 $filepath_newstap.sh`
这一行失败了,Duuh! ,因为这个变量不叫 $filepath_newstap.sh
$filepath_newstap.sh
如何将 _newstap.sh追加到变量名?
_newstap.sh
请注意,反勾是用于表达式计算的。
在变量名前后使用大括号:
`tail -1 ${filepath}_newstap.sh`
使用
"$filepath"_newstap.sh
或者
${filepath}_newstap.sh
$filepath\_newstap.sh
_是标识符中的有效字符,而 Dot 不是,所以 shell 尝试插入 $filepath_newstap。
_
$filepath_newstap
当引用未定义的变量时,可以使用 set -u使 shell 退出时出现错误。
set -u
在 Bash:
tail -1 ${filepath}_newstap.sh