[英]Bash: string interpolation is in the wrong order?
我想制作一个包含参数的字符串:
function praise () {
echo "{$1} is great"
}
但是,当我praise BillyBob
时,我得到is great BillyBob
。 我究竟做错了什么?
尝试这个:
function praise {
echo "${1} is great"
}
我解决了这个问题。 function 在我的.bash_profile
中。 当我获取此文件时, source
不会用文件中的任何版本更新赞美 function,尽管别名和变量(如 PS1)已更新。 我不知道为什么没有更新赞美,但是打开一个新的 bash 实例可以解决问题。 我正在测试的终端选项卡必须具有导致错误的 function 的过时版本(可能是换行问题,但此时很难说)。 我的代码在新选项卡中按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.