Вопросы по теме 'subshell'

Локальные переменные в bash: локальные и подоболочки
Насколько я знаю, есть два способа создать локальные переменные в функции bash: создать подоболочку или объявить каждую переменную как локальную. Например: # using local function foo { local count for count in $(seq 10) do echo...
6311 просмотров
schedule 06.09.2022

Получить код выхода из подоболочки через каналы
Как я могу получить код выхода wget из процесса подоболочки? Итак, основная проблема в том, что $? равно 0. Где может быть основано $?=8 ? $> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "$?" 0 На самом деле...
8780 просмотров
schedule 24.10.2023

Как завершить все на определенном уровне подоболочки в Bash, не используя kill 0?
Контекст: Скажем, у меня есть: ( #outer subshell { #inner command group, pipe-connected to ensure simultaneous invocation do_first_thing #die, somehow } | { #inner command group, pipe-connected to ensure...
747 просмотров
schedule 11.11.2022

Выход из ruby ​​в подоболочке без убийства родителя
У меня есть программа Ruby A, которая вызывает программу Ruby B с помощью: system("ruby programB.rb <parameters>") При определенных условиях я хочу, чтобы программа B завершила свою работу (и связанную с ней подоболочку), но позволила...
503 просмотров
schedule 19.10.2022

Глобальная переменная сбрасывается, если цикл отправляет вывод в канал
Согласно справочным страницам 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 После цикла (запускается как...
564 просмотров
schedule 12.12.2023

Bash: выполнить скрипт в контексте вызова оболочки
Насколько я понимаю, когда я выполняю скрипт внутри оболочки BASH с использованием синтаксиса, подобного $ ./myscript.sh , запускается вспомогательная оболочка, и код запускается в этой оболочке, при этом вывод STDOUT и STDERR печатается в моей...
3551 просмотров
schedule 23.01.2023

Когда подстановка команд порождает больше подоболочек, чем одни и те же команды по отдельности?
Вчера мне подсказали, что использование подстановки команд в bash приводит к созданию ненужной подоболочки. Совет относился к этому варианту использования : # Extra subshell spawned foo=$(command; echo $?) # No extra subshell command foo=$?...
3195 просмотров

Как сохранить вывод команды в переменной без создания подоболочки [Bash ‹v4]
ksh имеет действительно интересную конструкцию для этого, подробно описанную в этом ответе: https://stackoverflow.com/ а/11172617/636849 Начиная с Bash 4.0, существует встроенная команда mapfile , которая должна решить эту проблему:...
5785 просмотров
schedule 02.03.2023

Зачем избегать подоболочек?
Я видел много ответов и комментариев о переполнении стека, в которых упоминается, что нужно что-то делать, чтобы избежать подоболочки. В некоторых случаях для этого приводится функциональная причина (чаще всего потенциальная необходимость чтения...
3530 просмотров
schedule 16.05.2022

Работает ли ловушка должным образом при прокладке трубопровода?
Вот минимальный код для демонстрации проблемы: http://pastebin.com/5TXDpSh5 #!/bin/bash set -e set -o pipefail function echoTraps() { echo "= on start:" trap -p trap -- 'echo func-EXIT' EXIT echo "= after set new:" trap -p...
983 просмотров
schedule 04.05.2023

переменная оболочки не сохраняет значение
У меня есть 3 строки в файле /root/backuplist.txt . Первый echo печатает отлично, а последний печатает пустую строку; Я не уверен, почему. Каким-то образом значение $DIRS сбрасывается. #!/bin/bash cat /root/backuplist.txt | while read...
127 просмотров
schedule 06.10.2022

Круглые скобки в bash — подоболочка против группировки
На справочной странице bash в разделе " составные команды ", есть следующие две записи: (список) список выполняется в среде подоболочки (см. СРЕДА ВЫПОЛНЕНИЯ КОМАНД ниже). Присвоения переменных и встроенные команды, влияющие на среду...
990 просмотров
schedule 03.05.2023

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:...
284 просмотров
schedule 13.05.2023

Выполните команду bash с вызовом подоболочки $ () через ssh с здесь документом
Я пытаюсь отправить команду через ssh, которая выглядит так: ssh [email protected] "echo $(uname -a)" Но моя проблема в том, что часть $(uname -a) фактически создает подоболочку и выполняется не на сервере 192.168.1.1, а в моей системе, из...
2722 просмотров
schedule 20.04.2023

Можно ли найти подход для выполнения set -e/ERR захвата подоболочки, невосприимчивого к && и || ограничения?
В то время как справочная страница Bash гласит: Ловушка ERR не выполняется, если неудачная команда является ... частью команды, выполняемой в && или || список ... Я надеялся, что код в подоболочке будет в другом контексте и не будет...
131 просмотров
schedule 10.08.2022

Как активировать conda env в подоболочке?
Я написал программу на Python. А если у меня такая шебанга: #!/usr/bin/python и я делаю файл исполняемым с помощью: $ chmod 755 program.py Я могу запустить программу так: $ ./program.py Вот в чем проблема. Я использую...
8717 просмотров
schedule 23.02.2023

Использование awk для анализа файла конфигурации
Я пытаюсь создать команду awk , которая сохраняет весь файл конфигурации в виде переменных. Файл конфигурации имеет следующую форму (в ключах никогда не бывает пробелов, но могут быть значения): key=value key2=value two И моя команда awk:...
1156 просмотров
schedule 29.12.2022

Сохранить возвращаемое значение и запускать не из подоболочки
Я вызываю некоторую функцию, которая устанавливает VARIABLE в какое-то значение и возвращает другое значение. Мне нужно сохранить значение VARIABLE и присвоить возвращаемое значение функции другому VAR . Вот что я попробовал: bar() {...
504 просмотров

Почему выполнение простой команды в команде группировки не разветвляет процесс подоболочки, а составная команда сделает это
Я знаю, что группировка commands (command-list) создает подоболочку , и каждая перечисленная команда выполняется в этой подоболочке . Но если я выполняю простую команду в команде группировки (используйте команду ps для вывода процессов), то...
136 просмотров
schedule 01.04.2023

Получение кода выхода скрипта Python, запущенного в подоболочке с помощью Bash
Я хочу запускать сценарий Bash каждую минуту (через запись CRON), чтобы запускать серию сценариев Python в гранулированном (по времени) режиме. Пока что это сценарий, который я сделал: # set the current date DATE=`date +%Y-%m-%d` # set the...
120 просмотров
schedule 24.07.2023