Могу ли я получить код выхода из вспомогательной оболочки, запущенной с помощью $ (command)? [дубликат]

Я делаю так: у меня есть общий файл screenrc и я включаю его из пользовательских файлов сессии. Например, у меня есть ~/.config/screen/gnus.screenrc, содержащий

sessionname gnus
source common.screenrc
chdir /

screen -t gnus emacs -nw -f gnus

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

#!/bin/sh
session_name=$1
rc_file=~/.config/screen/$session_name.screenrc
exec screen -c "$rc_file" -S "$session_name" -r -R -d "$@"
10
23.02.2017, 00:15
1 ответ

Да, это возможно, даже не отвлекаясь слишком далеко:

$ $(exit 3); echo $?
3

$ foo="$(echo bar; exit 3)"; echo $?; echo $foo
3
bar
39
27.01.2020, 20:00

Теги

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