Передайте замененную команду для работы в сценарии оболочкиLinux

Ответить Пред. темаСлед. тема
Anonymous
 Передайте замененную команду для работы в сценарии оболочки

Сообщение Anonymous »


Я пытаюсь передать общую функцию другой функции в качестве замещающей команды. Однако я не понимаю деталей оценки и того, когда возвращается и используется код выхода или стандартный вывод.

Я написал этот скрипт для тестирования:

#!/bin/sh # также протестировано с /bin/bash на Ubuntu 22.04 с тем же результатом. # код выхода 1, результат pass_stituted_command() { результат=$($1) эхо "$?" echo "результат: $result" } pass_stituted_command "$(echo false)" # код выхода 0, результат pass_stituted_command() { результат=$($1) эхо "$?" echo "результат: $result" } pass_stituted_command "$(false)" # код выхода 0, результат ложный pass_stituted_command() { результат = 1 доллар эхо "$?" echo "результат: $result" } pass_stituted_command "$(echo false)" # код выхода 0, результат pass_stituted_command() { результат = 1 доллар эхо "$?" echo "результат: $result" } pass_stituted_command "$(false)" # код выхода 0, результат pass_stituted_command() { результат=$($1) эхо "$?" echo "результат: $result" } pass_stituted_command "$(echo 'test'; echo false)" # код выхода 0, результат проверки\nfalse pass_stituted_command() { результат = 1 доллар эхо "$?" echo "результат: $result" } pass_stituted_command "$(echo 'test'; echo false)" Из ответа в этом посте SO я ожидаю, что все примеры, кроме двух последних, будут вести себя как первый. Для последних двух я ожидаю, что код выхода будет равен 1, и каждый результат будет проверен.

Может ли кто-нибудь объяснить, почему это не так и как этого добиться? Спасибо!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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