繁体   English   中英

Bash:字符串插值顺序错误?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM