Вопросы по теме '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 просмотров
schedule
22.01.2023
Как сохранить вывод команды в переменной без создания подоболочки [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 просмотров
schedule
27.04.2022
Почему выполнение простой команды в команде группировки не разветвляет процесс подоболочки, а составная команда сделает это
Я знаю, что группировка 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