Pertanyaan yang diberi tag «subshell»


3
Apakah $ () sebuah subkulit?
Saya mengerti sintaks subshell menjadi (<commands...>), apakah $()hanya subkulit yang Anda dapat mengambil nilai variabel dari? Catatan: Ini berlaku untuk bash 4.4 berdasarkan perbedaan kata dalam dokumentasinya.
51 bash  subshell  syntax 

4
Mengapa (keluar 1) tidak keluar dari skrip?
Saya memiliki skrip, yang tidak keluar ketika saya menginginkannya. Contoh skrip dengan kesalahan yang sama adalah: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Saya akan berasumsi untuk melihat output: :~$ ./test.sh 1 :~$ Tapi saya benar-benar melihat: :~$ ./test.sh …

3
Bash pembuatan subkulit dengan kurung kurawal
Menurut ini , menempatkan daftar perintah antara kurung kurawal menyebabkan daftar dieksekusi dalam konteks shell saat ini. Tidak ada subkulit yang dibuat . Menggunakan psuntuk melihat ini dalam aksi Ini adalah hierarki proses untuk pipa proses yang dieksekusi langsung pada baris perintah. 4398 adalah PID untuk shell login: sleep 2 …
31 bash  subshell 

6
keluar dari skrip shell dari subkulit
Pertimbangkan cuplikan ini: stop () { echo "${1}" 1>&2 exit 1 } func () { if false; then echo "foo" else stop "something went wrong" fi } Biasanya ketika funcdipanggil itu akan menyebabkan script untuk mengakhiri, yang merupakan perilaku yang dimaksud. Namun, jika dijalankan dalam sub-shell, seperti di result=`func` itu …

3
Bagaimana saya bisa mendeteksi jika saya dalam subkulit?
Saya mencoba menulis fungsi untuk menggantikan fungsi exitbuiltin untuk mencegah saya keluar dari terminal. Saya telah mencoba menggunakan SHLVLvariabel lingkungan tetapi tampaknya tidak berubah di dalam subkulit: $ echo $SHLVL 1 $ ( echo $SHLVL ) 1 $ bash -c 'echo $SHLVL' 2 Fungsi saya adalah sebagai berikut: exit () …
24 bash  shell  exit  subshell 

3
Aturan untuk memanggil subkulit di Bash?
Saya tampaknya salah paham aturan Bash untuk membuat subkulit. Saya pikir tanda kurung selalu membuat subkulit, yang berjalan sebagai prosesnya sendiri. Namun, sepertinya tidak demikian. Dalam Cuplikan Kode A (di bawah), sleepperintah kedua tidak berjalan di shell yang terpisah (sebagaimana ditentukan oleh pstreeterminal lain). Namun, di Cuplikan Kode B, kedua …


2
Mengapa variabel terlihat dalam subkulit?
Learning Bash Book menyebutkan bahwa subkulit hanya akan mewarisi variabel lingkungan dan deskriptor file, dll., Dan itu tidak akan mewarisi variabel yang tidak diekspor: $ var=15 $ (echo $var) 15 $ ./file # this file include the same command echo $var $ Seperti yang saya tahu shell akan membuat dua …
18 bash  shell  subshell 




5
Fungsi bash stateful
Saya ingin menerapkan fungsi dalam Bash yang meningkatkan (dan mengembalikan) hitungan dengan setiap panggilan. Sayangnya ini tampaknya non-sepele karena saya menjalankan fungsi di dalam subkulit dan akibatnya tidak dapat memodifikasi variabel shell induknya. Inilah usaha saya: PS_COUNT=0 ps_count_inc() { let PS_COUNT=PS_COUNT+1 echo $PS_COUNT } ps_count_reset() { let PS_COUNT=0 } Ini …

3
Apa perbedaan yang tepat antara "subkulit" dan "proses anak"?
Menurut ini dan ini , subkulit dimulai dengan menggunakan tanda kurung (…). ( echo "Hello" ) Menurut ini , ini dan ini , suatu proses bercabang ketika perintah dimulai dengan a& echo "Hello" & Spesifikasi Posix menggunakan kata subshelldi halaman ini tetapi tidak mendefinisikannya dan, juga, pada halaman yang sama, …
16 bash  shell  subshell 

3
Apakah jebakan diwarisi oleh subkulit?
Saya mencoba skrip berikut: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo Output untuk skrip di atas adalah: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Namun saya mengharapkan jebakan untuk dipanggil keluar dari foo1juga, yang …
14 shell  trap  subshell 

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.