在命令中使用Bash替换变量

时间:2016-06-25 19:43:13

标签: bash shell gnu

myDir = 'apple'

如果我有上述变量,我可以使用什么功能在命令中使用它? (我猜它是某种类型的替代 - 所以如果是这样我想知道它叫什么)

我如何使用上述变量来执行ls /home/applefruit,因为显然ls /home/$myDirfruit不起作用。

1 个答案:

答案 0 :(得分:2)

首先,您的变量声明不正确。声明中=周围不能有空格:

myDir='apple'

现在,ls /home/$myDirfruit无效,因为myDirfruit被视为变量名而不仅仅是myDir。当名称后跟有效的变量名称组成字符时,您需要使用{}括起变量名称:

ls /home/${myDir}fruit

将扩展为:

ls /home/applefruit

此外,如果您有变量名称的空格,例如myDir='foo bar',在变量周围使用引号:

ls /home/"${myDir}"fruit