Попробуйте изменить 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