Bash: Shebang -x


 * 1) Fungsi flag -x

Dalam argumen shebang, umumnya

> #!/bin/bash

Namun, dalam output `subshell` saya memerlukan pembeda untuk *line* yang merupakan `subshell`, seperti *double plus* (**++**).


 * 1) Contoh

``` $ vim subshell.sh ```

isikan code berikut

``` var1=value1 echo $var1

var2=value2 echo $var2

$(var1=newvar1) echo $var1

`var2=newvar2` echo $var2 ```

> Wajib tambahkan shebang disetiap executable file$ cat ./subshell.sh **#!/bin/bash -x** (dengan flag -x)


 * 1) Run Example subshell

``` $ chmod +x subshell.sh $ ./subshell.sh ```

Output

``` + var1=value1 + echo value1 value1 + var2=value2 + echo value2 value2 ++ var1=newvar1 + echo value1 value1 ++ var2=newvar2 + echo value2 value2 ```


 * 1) Penjelasan: flag -x

Dalam contoh ini, saya mengubah shebang, menambahkan opsi berupa flag **-x**. Ini menginstruksikan Bash untuk mencetak tambahan output debug, yang saya maksud ialah **++** tersebut. Sehingga saya bisa lebih mudah melihat perintah yang dieksekusi dan hasilnya.

> perhatikan! bahwa perintah yang diawali dengan karakter "+" tunggal dieksekusi di shell saat ini dan perintah yang diawali dengan double “++” dieksekusi dalam sebuah subshell.

Penjelasan ini sekedar catatan kecil saja bagi saya. Mudah-mudahan bisa berguna untuk mendapatkan output dari bash script lebih baik.