Объединить цифру с переменной и отобразить ее

#shell #unix #ksh

#оболочка #unix #ksh

Вопрос:

Я хочу добавить суффикс (0) к переменной, содержащей значение в Kshell, используя сценарии оболочки, а затем отобразить переменную суффикс на экране

Например,

 abc.ksh 35 14063
  

То, что я пробовал, это

 var=$2
echo " ( value should be $var) "
  

ВЫВОД должен быть 140630

Но у меня это не работает..Чего мне в этом не хватает.

Ответ №1:

Если вам нужно выделить имена переменных, которые будут развернуты внутри строки в двойных кавычках, содержащей другие элементы, используйте ${...} , т.Е. заключите имя переменной в {} :

 echo "${var}0"
  

Это относится ко всем оболочкам, подобным Bourne (совместимым с POSIX), таким как bash , zsh и dash .

Комментарии:

1. Спасибо, теперь получаю ожидаемый результат, но можете ли вы сказать мне, в чем была проблема в моем подходе

2. @user3449519: Если вы это сделаете, echo "$var0" то ksh не будете знать, что это всего лишь var часть имени переменной, и вместо этого предположите, что имеется ссылка на имя переменной var0 , учитывая, что цифры являются допустимыми символами в именах переменных. Заключая var в {} , вы даете команду оболочке учитывать только текст между { и } именем переменной.