Оболочка Linux, PIPESTATUS в фрагменте сценария sh -c [дубликат]Linux

Anonymous
Оболочка Linux, PIPESTATUS в фрагменте сценария sh -c [дубликат]

Сообщение Anonymous »


У меня есть простой сценарий оболочки Linux:

а.ш:

eadd | эхо 'привет, мир' | тройник aa.txt выйти ${PIPESTATUS[0]} Я запускаю из командной строки: sh -c "./a.sh" затем запустите: эхо $? чтобы получить код возврата возврата, это: 127

Если я запущу: sh -c "./a.sh | tee bb.txt; выход ${PIPESTATUS[0]}" затем запустите: эхо $? Результат: 0.

Если я запущу: ./a.sh | тройник bb.txt; выйти из ${PIPESTATUS[0]}, Нет sh -c. Затем запустите: echo $? Результат: 127.

Почему код завершения при запуске с sh -c не является ожидаемым кодом завершения 127?

Как получить ожидаемый результат 127, если запустить sh -c "./a.sh | tee bb.txt; выйти ${PIPESTATUS[0]}"?

Вернуться в «Linux»