2014-01-27 4 views
0

В Мой сценарий оболочки, у меня есть следующие строки ...Сохранение набора команд вывода на переменную оболочки бросает ошибку

name=`grep -i "client" fin${i}.txt` 
jobplan_name=`${name} | cut -d "=" -f4 | cut -d " " -f1` 
echo ${jobplan_name} 

Выход:

<JOBP: not found 

Пожалуйста, поправьте меня, где проблема является

ответ

3

Я думаю, что вам нужно echo:

jobplan_name=`echo ${name} | cut -d "=" -f4 | cut -d " " -f1` 
+0

большой !! но почему это не работает без эха? – logan

+1

Без 'echo' вы пытаетесь выполнить команду с именем' name' и вывести свой вывод на 'cut', вместо того, чтобы передавать значение' name' самому 'cut'. – chepner

+1

Потому что backticks говорят * «дайте мне вывод команды, содержащейся в пределах * *. Содержимое переменной 'name' является ** не ** командой, распознанной вашей системой: Следовательно,« не найден ». Вывод команды 'echo' - это то, что вы хотите: строка, содержащая переменную' name'. – Geeb

Смежные вопросы