The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Как сгенерировать заданный код выхода/exit code одной командой?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от xintrea (ok), 26-Апр-23, 14:53 
Мне нужно выполнить такую команду, которая бы возвратила заданный код возврата. Код возврата принимается из входного потока.

Пытаюсь сделать так:

> echo 32 | xargs exit
xargs: exit: Нет такого файла или каталога

Неожиданный сюрприз. Какого-то черта xargs не работает со встроенными командами шелла...

Как по-другому можно решить эту задачу?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от xintrea (ok), 26-Апр-23, 16:10 
В общем, решил через perl:

> echo 32 | perl -e 'my $a=<STDIN>; exit($a)'
> echo $?
> 32


Ответить | Правка | Наверх | Cообщить модератору

3. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Pahanivo (ok), 26-Апр-23, 16:18 
> В общем, решил через perl:
>
 
>> echo 32 | perl -e 'my $a=<STDIN>; exit($a)'
>> echo $?
>> 32
>

вопрос открытый - зачем это надо?


Ответить | Правка | Наверх | Cообщить модератору

2. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Pahanivo (ok), 26-Апр-23, 16:13 
> Мне нужно выполнить такую команду, которая бы возвратила заданный код возврата. Код
> возврата принимается из входного потока.

1) Зачем?
2) Прими код, сделай выход с этим кодом ВНУТРИ своей софтины.
3) Но зачем?

> Пытаюсь сделать так:
>

> echo 32 | xargs exit 
> xargs: exit: Нет такого файла или каталога
>

Ну тут как бы если и сработает, то код возврата exit увидит только xargs, а конвеер увидит код возврата xargs.

> Неожиданный сюрприз. Какого-то черта xargs не работает со встроенными командами
> шелла...

xargs -- construct argument list(s) and execute utility
Действительно, сюпрайз, мазафака.

> Как по-другому можно решить эту задачу?

Какую задачу то?

Ответить | Правка | Наверх | Cообщить модератору

4. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Ann None (?), 26-Апр-23, 17:28 
> Мне нужно выполнить такую команду, которая бы возвратила заданный код возврата. Код
> возврата принимается из входного потока.
> Пытаюсь сделать так:
>
> echo 32 | xargs exit 
> xargs: exit: Нет такого файла или каталога
>

> Неожиданный сюрприз. Какого-то черта xargs не работает со встроенными командами
> шелла...
> Как по-другому можно решить эту задачу?

а переменная $? не спасет гиганта мысли?

Ответить | Правка | Наверх | Cообщить модератору

5. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от ыы (?), 27-Апр-23, 10:22 
> Мне нужно выполнить такую команду, которая бы возвратила заданный код возврата. Код
> возврата принимается из входного потока.
> Пытаюсь сделать так:
>
> echo 32 | xargs exit 
> xargs: exit: Нет такого файла или каталога
>

> Неожиданный сюрприз. Какого-то черта xargs не работает со встроенными командами
> шелла...
> Как по-другому можно решить эту задачу?

что значит "возвратила?"

напечатала на экран?

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

если надо именно ВОЗВРАТИТЬ код - то
exit код

Ответить | Правка | Наверх | Cообщить модератору

6. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Pahanivo (ok), 27-Апр-23, 15:15 
>[оверквотинг удален]
>>
>> Неожиданный сюрприз. Какого-то черта xargs не работает со встроенными командами
>> шелла...
>> Как по-другому можно решить эту задачу?
> что значит "возвратила?"
> напечатала на экран?
> код возврата который возвращает программа- на экран не печатается.. это штука которая
> существует только внутри командного процессора...
> если надо именно ВОЗВРАТИТЬ код - то
> exit код

Код завершения: сначала передать, получит, завершиться им, затем его посмотреть и в конце вывести .. )))
Вещества нонча огонь! )))

Ответить | Правка | Наверх | Cообщить модератору

8. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от ACCA (ok), 27-Апр-23, 23:16 
Перестань по-стариковски пердеть. Я про другое очень огорчаюсь - здесь совсем перестали появляться студиозусы. И кого мы научим?
Ответить | Правка | Наверх | Cообщить модератору

9. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Pahanivo (ok), 28-Апр-23, 11:26 
> И кого мы научим?

Сейчас не учат, сейчас на тесты натаскивают. Как обычно - сделали со своим блекджеком, но сути исходной не поняли ))
ПыСы: да, я буду бздеть )))

Ответить | Правка | Наверх | Cообщить модератору

10. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от ыы (?), 28-Апр-23, 11:30 
>> И кого мы научим?
> Сейчас не учат, сейчас на тесты натаскивают. Как обычно - сделали со
> своим блекджеком, но сути исходной не поняли ))
> ПыСы: да, я буду бздеть )))

есть мнение, что тесты те мне менее  (например ЕГЭ) - хорошая вещь.

Ответить | Правка | Наверх | Cообщить модератору

11. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Pahanivo (ok), 28-Апр-23, 11:40 
Не слушайте мнения, смотрите глазами на результат. Например на стобальников по рузкаму языгу к кауказа.

Ответить | Правка | Наверх | Cообщить модератору

7. "Как сгенерировать заданный код выхода/exit code одной командой?"  +/
Сообщение от Аноним (7), 27-Апр-23, 21:31 
Получить код из stdin и с ним выйти можно как-то так
echo 111 | (read x; exit $x)

Очевидно, что так делать бессмысленно. Код возврата здоровые люди используют только из специальной переменной и ни в какой ввод никому ее не передают (зачем!?).

if ! ./foo ; then
  exit $?
fi

Или если нужно какой-то свой код вернуть на выбор

if ! ./foo ; then
  [ "$?" eq 123 ] && exit 321
  [ "$?" eq 222 ] && exit 11
  ...
fi

%%Не открывавшим даже ман по шеллу: вон из профессии.%%

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру