Domande taggate «subshell»

2
Le parentesi mettono davvero il comando in una subshell?
Da quello che ho letto, inserire un comando tra parentesi dovrebbe eseguirlo in una subshell, simile all'esecuzione di uno script. Se questo è vero, come vede la variabile x se x non viene esportato? x=1 L'esecuzione (echo $x)sulla riga di comando risulta in 1 L'esecuzione echo $xin uno script non …

3
$ () È una subshell?
Capisco che la sintassi della subshell sia (<commands...>), è $()solo una subshell da cui è possibile recuperare i valori delle variabili? Nota: questo vale per bash 4.4 in base a una diversa formulazione nella loro documentazione.
51 bash  subshell  syntax 

4
Perché (uscita 1) non esce dallo script?
Ho una sceneggiatura che non esce quando lo voglio. Uno script di esempio con lo stesso errore è: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Suppongo di vedere l'output: :~$ ./test.sh 1 :~$ Ma in realtà vedo: :~$ ./test.sh …

3
Creazione di subshell Bash con parentesi graffe
In base a ciò , posizionare un elenco di comandi tra parentesi graffe fa sì che l'elenco venga eseguito nel contesto della shell corrente. Non viene creata alcuna subshell . Usando psper vedere questo in azione Questa è la gerarchia dei processi per una pipeline del processo eseguita direttamente sulla …
31 bash  subshell 

6
esce dallo script di shell da una subshell
Considera questo frammento: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Normalmente quando funcviene chiamato, lo script viene chiuso, ovvero il comportamento previsto. Tuttavia, se viene eseguito in una sotto-shell, come in result=`func` non …

3
Come posso rilevare se sono in una subshell?
Sto cercando di scrivere una funzione per sostituire la funzionalità del exitbuiltin per impedirmi di uscire dal terminale. Ho tentato di utilizzare la SHLVLvariabile d'ambiente ma non sembra cambiare all'interno dei subshells: $ echo $SHLVL 1 $ ( echo $SHLVL ) 1 $ bash -c 'echo $SHLVL' 2 La mia …
24 bash  shell  exit  subshell 

3
Regola per invocare subshell in Bash?
Mi sembra di fraintendere la regola di Bash per la creazione di una subshell. Ho pensato che le parentesi crea sempre una subshell, che funziona come un suo processo. Tuttavia, questo non sembra essere il caso. Nel frammento di codice A (sotto), il secondo sleepcomando non viene eseguito in una …


2
Perché una variabile è visibile in una subshell?
Il Learning Bash Book menziona che una subshell erediterà solo le variabili di ambiente e i descrittori di file, ecc. E che non erediterà le variabili che non vengono esportate: $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ Come so …
18 bash  shell  subshell 




5
Funzione bash stateful
Vorrei implementare una funzione in Bash che aumenta (e restituisce) un conteggio ad ogni chiamata. Sfortunatamente questo sembra non banale poiché sto invocando la funzione all'interno di una subshell e di conseguenza non può modificare le variabili della shell madre. Ecco il mio tentativo: PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 echo …


3
La trap è ereditata da una subshell?
Ho provato un seguente script: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo L'output per lo script sopra era: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Tuttavia mi aspettavo che anche la trap venisse chiamata …
14 shell  trap  subshell 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.