Как предотвратить закрытие сценария bash [closed]

1 como código de salida indica falla, no éxito. Entonces cd -Pe..indica correctamente que no pudo determinar el directorio actual después de cambiar.

Por lo que sé, tienes razón sobre cuándo -Pees necesario. En otros casos, por ejemplo, si tiene un enlace simbólico roto a un directorio eliminado, cdfallará con un mensaje de error y un código de salida de 1 sin -Pe.

Consulte Ejemplos de opciones para bash cd, por ejemplo, :cd -Pe@ $directory para obtener más información sobre esto...

-1
12.04.2019, 23:44
2 ответа

Судя по вашему другому (теперь удаленному )вопросу, вы хотите запустить

xterm -e your-script

И чтобы окно эмулятора терминала не исчезало после завершения скрипта.

Для этого,вы можете добавить команду, которая засыпает навсегда, в конце вашего скрипта или в ловушке EXIT. См. Как изящно ничего не делать навсегда? или Существует ли команда Linux, которая ничего не делает, но никогда не завершает работу? для некоторых параметров.

trap 'sleep infinity' EXIT

Заставит оболочку запускаться sleep infinityпри выходе и, таким образом, никогда не будет завершена. В тех реализациях sleep, которые не поддерживают infinity, замените большим числом, напримерsleep 2147483647(самым большим 32-битным целым числом со знаком, которое должно быть безопасным в большинстве систем и составляет около 68 лет ).

С xtermвы также можете использовать его опцию -hold, которая предназначена для этого.

6
28.04.2021, 23:34

Другим способом блокировки может быть использование пользовательского ввода для блокировки. Попробуйте использовать read varnameв конце программы, чтобы она продолжала ждать ввода пользователя и не закрывалась.

0
28.04.2021, 23:34

Теги

Похожие вопросы