Bash jika pada satu baris

Saya ingin tahu bagaimana saya bisa menulis kondisi if di dalam skrip bash pada satu baris.

Misalnya, bagaimana saya bisa menulis ini pada satu baris, dan kemudian menaruh yang lain seperti itu di baris berikutnya?

if [ -f "/usr/bin/wine" ]; then
    export WINEARCH=win32
fi

Saya menanyakan hal ini karena saya memiliki beberapa alias di .bashrc saya dan saya memiliki .bashrc yang sama (disinkronkan) di beberapa sistem, tetapi saya tidak memerlukan semua alias di setiap sistem. Saya menaruh sebagian besar dari mereka di dalam pernyataan if, dan semuanya bekerja dengan baik sekarang, tetapi mereka mengambil banyak ruang, masing-masing 3 baris ditambah baris kosong di antara mereka (saya suka mereka mudah terlihat)

Saya juga akan menggunakan teknik ini untuk variabel lingkungan juga.

Larutan

Anda akan menuliskannya seperti itu:

if [ -f "/usr/bin/wine" ]; then export WINEARCH=win32; fi

Perhatikan bahwa ini juga bisa ditulis (seperti yang disarankan oleh @glennjackman):

[ -f "/usr/bin/wine" ] && export WINEARCH=win32
Komentar (4)

Saya juga menemukan bahwa hanya dengan mengetikkan perintah if then else yang kompleks, tekan enter, dan kemudian setelah itu dieksekusi cukup tekan panah atas. Baris perintah akan mengulangi perintah yang terakhir diketik, tetapi dalam hal ini, perintah tersebut akan menempatkan semuanya pada satu baris seperti yang Anda perlukan. Ini adalah cara yang curang, tetapi efektif.

Komentar (1)