Apa yang melewati parameter -xe ke / bin / bash lakukan


59

Tepat seperti yang dikatakan judulnya. Saya tidak beruntung menemukan dokumentasi yang tepat untuk melihat apa yang dilakukan -xe dalam use case berikut:

#!/bin/bash -xe

apa yang dilakukan parameter tersebut dan di mana parameter tersebut didokumentasikan?


Apakah Anda berbicara tentang parameter yang diteruskan ke biner BASH, atau apakah Anda berbicara tentang fungsi dan parameter dalam bahasa skrip BASH?
Richard Keller

Mengacu pada parameter yang diteruskan ke biner BASH, seperti: #! / Bin / bash -xe
imajinatif

Jawaban:


56

Jika Anda membaca halaman manual untuk bashAnda akan menemukan yang berikut di bagian atas OPTIONSbagian ini:

 Semua opsi shell karakter tunggal didokumentasikan dalam
 deskripsi perintah set builtin dapat digunakan sebagai opsi saat
 shell dipanggil. Selain itu, bash menginterpretasikan opsi berikut
 ketika dipanggil ...

Dan jika Anda membaca dokumentasi untuk setperintah nanti di halaman manual, Anda akan menemukan:

 -e Segera keluar jika saluran pipa (yang mungkin terdiri dari a
 perintah sederhana tunggal), perintah subkulit yang dilampirkan dalam tanda kurung,
 atau salah satu perintah yang dijalankan sebagai bagian dari daftar perintah yang dilampirkan oleh
 kurung kurawal (lihat SHELL GRAMMAR di atas) keluar dengan status bukan nol. 

 -x Setelah memperluas setiap perintah sederhana, untuk perintah, huruf besar-kecil
 perintah, pilih perintah, atau hitung untuk perintah, tampilan
 nilai diperluas dari PS4, diikuti oleh perintah dan
 argumen yang diperluas atau daftar kata yang terkait.

Dengan kata lain, -ebuat shell segera keluar setiap kali sesuatu mengembalikan kesalahan (ini sering digunakan dalam skrip shell sebagai mekanisme yang gagal), dan -xmemungkinkan eksekusi skrip secara verbal sehingga Anda dapat melihat apa yang terjadi.


10

Ketik yang berikut di konsol Anda untuk mendapatkan penjelasan tentang argumen BASH:

bash -c "help set"

Untuk menjawab pertanyaan Anda:

-e Keluar segera jika perintah keluar dengan status tidak nol.

-x Cetak perintah dan argumennya saat dieksekusi.


4

Dari halaman manual :

Semua opsi shell karakter tunggal yang didokumentasikan dalam deskripsi perintah set builtin dapat digunakan sebagai opsi saat shell dipanggil.

Jadi lihatlah set builtin .


2

Apakah Anda memikirkan hal-hal di mana Anda mengatur -x set -e set -...? berlari help setmemberi mereka.


1
Saya memikirkan parameter yang digunakan seperti berikut: #! / Bin / bash -xe
imajinatif

0

Di mana tempat terbaik untuk membaca dokumentasi tentang parameter apa yang diteruskan ke bash seperti -x dan -e? Saya mencoba pria 1 bash, tetapi tampaknya tidak tercakup di sana.

Baca bagian PILIHAN dari halaman manual basj.


0

Saya menggunakan Bash Reference Manual yang sangat baik sebagai dokumentasi satu atap untuk bahasa Bash. Saya menemukan ini lebih berguna daripada halaman manual. Bagian yang relevan untuk Anda (deskripsi sakelar -e, -x dapat ditemukan di sini: set builtin

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.