Tips Bash Script : Panjang Suatu String & Contoh If Then Else
Kemarin saya membuat sebuah script untuk keperluan pemindahan account email dari satu server ke server lain. Script ini membutuhkan parameter yang bisa membaca panjang suatu string (dalam hal ini parameter “alias account”) dan kemudian mengecek apakah alias tersebut ada atau tidak (jika panjang karakter = 0 atau string = “” berarti tidak ada alias)
Pada bash script yang ada di Linux, ada banyak cara untuk mendapatkan panjang suatu string. Misalnya kita punya string dengan nama VAR dengan isi sebagai berikut :
VAR=”Vivian Aulia Zahra”
Untuk mendapatkan panjang karakter, bisa menggunakan salah satu dari perintah berikut :
Tips 1
[code lang=”bash”]echo “${#VAR}”[/code]
Tips 2
[code lang=”bash”]expr length “$VAR”[/code]
Tips 3
[code lang=”bash”]echo $VAR | awk ‘{print length}'[/code]
Tips 4
[code lang=”bash”]echo -n $VAR | wc -m[/code]
Keempat cara diatas akan menghasilkan angka karakter yang sama yaitu 18.
Jika kita ingin memasukkannya sebagai parameter, tinggal menambahkan nama parameter dibagian awal ditambah dengan tanda “sama dengan” tanpa spasi seperti contoh berikut ini :
[code lang=”bash”]PANJANG_STRING=`echo “${#VAR}”`[/code]
Untuk mengeceknya, kita bisa menggunakan IF-THEN-ELSE seperti contoh dibawah ini :
[code lang=”bash”]
if [ $PANJANG_STRING -gt 0 ]
then
echo “Panjang string lebih dari 0 karakter”
else
echo “Panjang string = 0 karakter”
fi
[/code]
Semoga bermanfaat.
Pak Vavai, untuk assign ke variable bukannya harus menggunakan tanda “ ya? Saya coba seperti contoh di atas (tanpa “) gagal loh pak
$ dodol=”tedy tirtawidjaja”
$ echo “${#dodol}”
17
$ panjang_string=echo “${#dodol}”
-bash: 17: command not found
$ panjang_string=`echo “${#dodol}”`
$ echo $panjang_string
17
$