Описание тега subshell
A subshell refers to a shell invoked from within a parent shell. It is an example of a child process. Questions with this tag may involve any issue with working with subshells. Please also include tags for platform or shell language.
1
ответ
Функция Bash - второй параметр в функции не принят
По какой-то причине я не могу передать второй параметр функции, которая находится в другом файле, именно здесь: $lsValidLocal | xargs -n 1 -I {} bash -c 'Push "{}" "**$inFolder**" Функция Push на functions.sh не читает второй параметр $ inFolder. Я …
12 дек '17 в 10:19
4
ответа
Почему этот код не работает?
x="a=b" `echo $x` echo $a Я ожидаю, что вторая строка сгенерирует "a=b" и выполнит ее в контексте основной оболочки, что приведет к новой переменной a со значением b, Тем не менее, что я действительно получаю (если я ввожу команды вручную), это сооб…
16 фев '12 в 09:01
11
ответов
Установить переменную родительской оболочки из подоболочки
Как установить переменную в родительской оболочке из подоболочки? a=3 (a=4) echo $a
21 мар '13 в 07:01
1
ответ
pgrep -P $$ дает несуществующий идентификатор процесса
#!/usr/bin/env bash sleep 3 & # Spawn a child trap ' pgrep -P $$ # Outputs one PID as expected PIDS=( $( pgrep -P $$ ) ) # Saves an extra nonexistant PID echo "PIDS: ${PIDS[@]}" # You can see it is the last one ps -o pid= "${PIDS[@]:(-1)}" || ec…
26 апр '15 в 18:36
1
ответ
Перенаправить sterr в subshell на стандартный вывод в текущей оболочке в bash-скрипте
У меня есть подоболочка, выполняющая функцию: local thing=$( doFunc ) doFunc отправляет вывод журнала в stderr (2) и 'thingприсваивается doFuncвыход на stdout (1). Как я могу запустить эту строку, но распечатать stderr от скорлупы до stdout в текуще…
29 июн '18 в 12:47
1
ответ
Псевдоним команды 'cd' с Subshell не работает должным образом
Я только что узнал об псевдонимах в bash. Я создал один так: alias="cd $directory" где $directory это от использования ввода. В другом сценарии оболочки я могу запустить подоболочку следующим образом: ( bash ) что подводит меня к сути дела, где, есл…
20 мар '12 в 02:27
1
ответ
Глобальная переменная сбрасывается, если цикл отправляет вывод в канал
Согласно страницам руководства bash(1), когда я запускаю следующее: set -e x=2 echo Start $x while [ $((x--)) -gt 0 ]; do echo Loop $x; done | cat echo End $x Выход будет: Start 2 Loop 1 Loop 0 End 2 После цикла (работает как подоболочка) переменная…
04 июн '13 в 14:39
2
ответа
bash - возвращает статус из функции в фоновом режиме
У меня есть скрипт bash примерно следующей структуры: function download { # download a big file } function prepare_stuff { # prepare some stuff } function process_download { # process the downloaded file } download & prepare_stuff & wait pro…
27 янв '17 в 19:23
2
ответа
Локальные переменные в Linux
Когда мы экспортируем локальную переменную, объявленную в текущей оболочке, она передается в будущие вложенные оболочки, процессы, дочерние процессы или будущие дочерние процессы? Мне сказали, что это будет передано будущим субоболочкам. Это правиль…
10 авг '16 в 02:54
2
ответа
Bash: подчиненное поведение ls
Мне интересно, почему я не получаю такой же вывод от: ls -1 -tF | head -n 1 а также echo $(ls -1 -tF | head -n 1) Я пытался получить последний измененный файл, но используя его внутри вложенной оболочки, иногда я получаю более одного файла в результ…
26 окт '17 в 13:17
0
ответов
stderr и стандартный вывод do-release-upgrade
Hy. Я пытался перенаправить stderr и stdout команды do-release-upgrade с помощью следующей команды: sudo do-release-upgrade >>logfile 2>&1 Он только перенаправляет несколько строк, потому что do-release-update вызывает подоболочку. Таки…
19 фев '17 в 22:22
5
ответов
Как мне активировать conda env в подоболочке?
Я написал программу на Python. И если у меня есть Шебанг, как этот: #!/usr/bin/python и я делаю файл исполняемым с помощью: $ chmod 755 program.py Я могу запустить программу так: $ ./program.py Здесь проблема. Я использую виртуальные среды Conda. Ко…
28 янв '17 в 20:54
1
ответ
Как использовать команду grep в подоболочке?
Я хочу подключиться к 4 серверам через bashscript и выполнить на каждом сервере несколько команд. Вывод команд должен быть сохранен в переменной локально. Так что я попробовал этот мир кода. Я уже попробовал несколько вещей. Когда я просто выполняю …
05 янв '19 в 12:33
2
ответа
Передача содержимого скрипта bash для выполнения в той же оболочке, что и при выполнении двоичного файла
Некоторое время назад у меня был этот ответ, но я не могу вспомнить, насколько точно был синтаксис. У меня есть два файла. Одним из них является двоичный файл с именем "changeuid", а вторым - "do.sh". Мне нужно запустить changeuid, который изменит м…
02 окт '15 в 14:55
1
ответ
Как получить код ошибки из подоболочки, запущенной в eval
Я пытался найти вопросы, похожие на эти, которые касаются решения для меня, но ни один из тех, которые я не смог найти, вполне отвечает на мой точный вопрос. Я хотел бы выполнить команду в подоболочке внутри вызова eval и получить код состояния, воз…
10 янв '19 в 18:10
1
ответ
Немедленно получить выходные данные оболочки bash из именованного канала
У меня есть несколько команд, которые я запускаю между скобками, которые я затем перенаправляю на именованный канал и подключаю к каналу, однако похоже, что перенаправление происходит только после завершения выполнения блока, так как я некоторое вре…
08 ноя '18 в 11:05
2
ответа
Выполнение пакета в Powershell (Win 10) не влияет на родительскую оболочку
Просто для понимания этого. Я хочу открыть мой Powershell в определенной папке. Поскольку я не узнал, как, я попытался поместить пакетный файл с просто "cd....." в папку по умолчанию, где открывается PowerShell. Когда я выполняю пакет, я в конечном …
20 фев '19 в 05:41
2
ответа
Как получить стандартный вывод из subshell?
У меня есть такой сценарий? command='scp xxx 192.168.1.23:/tmp' su - nobody -c "$command" Основная оболочка не печатала никакой информации. Как я могу получить вывод из подкоманды?
02 июл '12 в 03:01
1
ответ
Может ли функция вызываться в подоболочке bash в качестве фонового задания?
Допустим, у меня есть функция Bash Yadda() { # time-consuming processes that must take place sequentially # the result will be appended >> $OUTFILE # $OUTFILE is set by the main body of the script # No manipulation of variables in the main bod…
08 май '11 в 06:57
3
ответа
Как найти следующий доступный файловый дескриптор в Bash?
Как я могу узнать, используется ли дескриптор файла в Bash? Например, если у меня есть скрипт, который читает, пишет и закрывает fd 3, например exec 3< <(some command here) ... cat <&3 exec 3>&- Каков наилучший способ убедиться, …
12 янв '17 в 01:42