Рейтинг:0

Возврат команды awk не найден на рабочем столе Ubuntu, но хорошо работает на Centos

флаг cn

Я создаю test.sh для чтения файла с содержимым

пункт1:возврат1
пункт2:возврат2
...
пункт10:возврат10

содержимое test.sh

VAR1=$1
VAR2= `grep "^${VAR1}:" /home/path/file | awk '{напечатать $2;}'`

эхо "${VAR2}";

запустить тест

ш тест.ш элемент 1

возвращаться

: не найдено test.sh: 
: не найдено test.sh: 

Когда я запускаю то же самое на Centos. возвращаться

возврат1

Что не так с командой awk?

muru avatar
флаг us
Вывод выглядит так, как будто файл имеет окончания строки CRLF. Вы когда-нибудь редактировали в Windows?
Рейтинг:0
флаг vn

В команде awk нет ничего плохого. Ваша проблема тест.ш не может быть найден, как показано в сообщении. CentOS, вероятно, устанавливает ваш путь в переменную PATH.

Запустите его как ш ./test.sh пункт1 (Я предполагаю, что test.sh находится в вашем текущем каталоге)

Редактировать: Я должен был уделить больше внимания сценарию, : в grep проблема Это работает

VAR1=$1
VAR2=`grep "${VAR1}\:" файл | awk '{напечатать $2}'`
эхо "${VAR2}";

Однако awk по умолчанию не распознает : в качестве разделителя мне пришлось использовать

пункт1: возврат1
пункт2: возврат2

Я понятия не имею, как это может работать на сервере или Centos без этого изменения.

Shuch Saipay avatar
флаг cn
Вы правы, test.sh находится в моем текущем каталоге. Я пробовал с "sh ./test.sh item1", результат тот же (немного отличается) : не найдено2: ./test.sh: : не найдено5: ./test.sh:
vanadium avatar
флаг cn
Убедитесь, что бит исполняемого файла установлен
Shuch Saipay avatar
флаг cn
Очень странно, я могу очень хорошо запускать команду на серверной версии Ubuntu, но не могу работать на рабочем столе Ubuntu. Все та же команда.
marosg avatar
флаг vn
Можете ли вы показать вывод `ls -l test.sh`?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.