Mac终端中的字符串操作

时间:2018-12-07 14:00:57

标签: bash oh-my-zsh

您知道为什么这不起作用吗?

请注意,我在使用〜/ .zshrc的Mac终端上

FOO="MACOS"
FOO=${FOO//$OS/}
echo $FOO

回声:

MACOS

我希望它回显MAC

1 个答案:

答案 0 :(得分:2)

尝试将FOO=${FOO//$OS/}更改为FOO=${FOO//OS/},然后它将飞行。为什么要使用$来打印任何变量的值,但在这种情况下它不是变量,这是我们要提到的字符串(在BASH上测试)。

如果要使用$(我们可以通过创建另一个具有字符串OS的变量来使用),然后尝试执行以下操作。

os="OS"            ##Creating a variable named os with string value OS.
FOO="MACOS"        ##Creating variable FOO with value of string MACOS.
FOO=${FOO//$os/}   ##Using variable expansion of BASH to remove variable `os` value from variable `FOO` here and saving it into `FOO` variable itself.
echo "$FOO"        ##Printing value of variable `$FOO` here.
MAC