LINUX.ORG.RU

ЯННП. Какие коды, откуда возврата и куда?

Deleted
()

Но почему то ничего не получается.

у меня libastral не обновился еще, всмысле не получается, тут бы хоть примеры, попытки докопаться.

Dred ★★★★★
()

1) он возвращал коды возврата вместо OPSOPS и выхлопа команды

Заменить echo на exit

2) cделать второй скрипт, который бы запускался сразу после этого и проверял код возврата.

Оформите вышеприведенный скрипт в виде функции с return, проверяйте $? и далее уже делайте exit. И не надо второй скрипт.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)

если условие совпало код выхода 127
если условие не совпало код выхода 0
если 127, чтобы печатал ОК
если 0, чтобы печатал ERROR.

Обычно 0 – это успешное выполнение чего-либо, а вот 127 – ошибка. А у вас наоборот.

EXL ★★★★★
()
#вместо тафтологии
cat $input_file | grep $search_word | awk -F "," '{print $3}'
#можно делать просто
awk -F "," "/$search_word/ {print \$3}" < $input_file

Далее, к задачке. Чтобы твой скрипт вышел с кодом возврата 127 нужно вызвать команду выхода с этим кодом:

exit 127

а чтобы скрипт вышел с кодом 0 ничего специально делать не нужно.

Чтобы проверить, что вызываемая команда/скрипт/программа вышла с кодом 0 можно просто поместить вызов в if:

if ./myscript.sh; then
  echo "ok"
else
  echo "error"
fi

если нужно отличать коды возварата, например 127 от 126, то надо делать иначе (с $?) но мне кажется тебе это не надо, достаточно проверки «0 или не 0».

legolegs ★★★★★
()
Последнее исправление: legolegs (всего исправлений: 1)

Ну и сделай вместо echo «OPSOPS» return 127 или там exit 127, в чём проблема-то? И да, это неверно. У нормальных людей 0 - нормальное завершение, всё что больше errcode.

IPR ★★★★★
()
Ответ на: комментарий от IPR

Джентельмены, спасибо. Я в курсе что у нормальных людей 0 - это завершение, а 1 - ошибка. Здесь наверное не просто так дали задание.

Deleted
()
Ответ на: комментарий от legolegs

а чтобы скрипт вышел с кодом 0 ничего специально делать не нужно.

Неее, будет код возврата последней команды, например grep ничего не найдёт и далее по тексту.

vodz ★★★★★
()
Ответ на: комментарий от Quasar

Глубокоуважаемый Квазар. Лично к вам я не иду. Я попросила помощи у знатоков, так как сама не разобралась. А вот почему вы со своими темами о ГИБДД, уязвимостях в PSP и выживаниях в чужой стране, идете на форум о Linux, а не к автолюбителям, геймерам или трэйвел-блогерам? Позвольте откланятся, попрошу модеров удалить тему и аккаунт. Всем спасибо за помощь.

Deleted
()
Ответ на: комментарий от shashilx

Ай, да с нервами все ок. Было бы из-за чего психовать. Просто не понимаю такой токсичности, вместо помощи. Можешь помочь, помоги. Нет зачем воздух сотрясать?

Deleted
()
Ответ на: комментарий от Deleted

Глубокоуважаемый Квазар

Ахаха.

anonymous
()
Ответ на: комментарий от Deleted

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

shashilx ★★
()

Теоретически понимаю что нужно присвоить значения для exit.

Не обязательно, можно создать и экспортировать переменную, тогда она будет создана ВНЕ скрипта и её можно будет использовать в других скриптах.
Но тогда в начале присваивающего скрипта *во избежание* имеет смысл её уничтожать.
expot env_name значение
unset env_name

torvn77 ★★★★★
()
Ответ на: комментарий от Deleted

Позвольте откланятся, попрошу модеров удалить тему и аккаунт. Всем спасибо за помощь.

Ты плюнула в лицо всем кто в этой теме делился с тобой своими знаниями.

Позвольте откланятся, попрошу модеров удалить тему и аккаунт. Всем спасибо за помощь.

Ты чья реинкарнация, тролюка ты токсичная?

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.