Pertanyaan yang diberi tag subshell

51
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

48
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...

31
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...

30
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...

24
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...

18
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...

16
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

14
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...

13
Menyoroti sintaks Bash dari subkulit

Mempertimbangkan sejumlah besar pertanyaan yang ternyata terkait dengan subkulit di Bash ("Mengapa kenaikan variabel saya dalam loop pipawhile read ini ?"), Saya hanya berpikir akan sangat menyenangkan untuk merujuk ke beberapa editor atau layanan di mana kode yang akan dieksekusi dalam subkulit...

11
Perluas subkulit sebelum menjalankannya?

Saya sering menjalankan perintah menggunakan subshell, dan kadang-kadang ingin memiliki subshell diperluas sebelum saya menjalankan sesuatu .. Dengan cara ini saya bisa memverifikasi apa yang saya lakukan, dan mungkin mengedit apa yang akan terjadi juga. Misalnya, bagaimana saya bisa mendapatkan...

11
Apakah sub-shell sama dengan shell anak

Ada dua nama ini: subshell dan child-shell . Ya, proses anak akan dimulai dengan semua ini: sh -c 'echo "Hello"' ( echo "hello" ) echo "$(echo "hello") echo "hello" | cat Apakah semuanya sama dan berbagi nama yang sama? Apakah semua memiliki properti yang sama? POSIX memiliki definisi ini...