При вставке следующих двух команд в оболочку:
read VAR
echo $VAR
... первый сообщает оболочке прочитать строку текста в переменную с именем VAR
. Вы указываете это значение в следующей строке; это просто команда, которая, как вы думали, будет выполнена.
Напечатайте значение переменной VAR
, и вы увидите:
$ printf '%s\n' "$VAR"
echo $VAR
То же самое происходит с меню select
.
Я бы посоветовал, если ваша документация/команды предполагают, что пользователь введет значение, вы вставите соответствующий комментарий:
read VAR
(Пользователь вводит значение)
echo $VAR
попробуй:
sed "s/\$t\>/foo/g" /tmp/file
\>
— это соответствие шаблону регулярного выражения для конца слова.
Попытка выполнить следующие команды sed и awk
awk '{for(i=1;i<=NF;i++){if($i =="$t"){gsub(/\$t/,"foo",$i)}}}1' filename
команда sed
sed "s/\$t /foo /g" filename
выход
$one foo $three
$one foo $three foo $thre
и