‘setel alias ' untuk perintah apa pun dan perintah alias akan berfungsi dengan baik di shell interaktif, sedangkan alias tidak berfungsi di dalam skrip.
1. Cangkang interaktif
# alias ls1='ls -lrt' # ls1 total 0 -rw-r--r-- 1 root root 0 Oct 12 12:14 file1 -rw-r--r-- 1 root root 0 Oct 12 12:14 file2
2. Di dalam skrip
# cat script.sh #!/bin/bash # Script to check the alias output alias ls1='ls -lrt' ls1
# chmod +x script.sh # ./script.sh ./script.sh: line 3: ls1: command not found
Alias tidak diperluas saat shell tidak interaktif, kecuali expand_aliases opsi shell diatur menggunakan shopt . Ini dapat diuji dengan menambahkan perintah “alias” ke skrip bash sederhana dan eksekusi skrip tidak akan memberikan perintah alias, sedangkan pada shell interaktif akan memberikan daftar alias yang tersedia seperti yang ditunjukkan pada contoh di atas.
Dari halaman manual Bash :
Aliases are not expanded when the shell is not interactive, unless the expand_aliases shell option is set using shopt (see the description of shopt under SHELL BUILTIN COMMANDS below).
Membuat alias berfungsi di skrip bash
Pendekatan berikut dapat digunakan, untuk membuat perintah alias berfungsi di skrip bash. Variabel dapat digunakan dalam skrip bash untuk mengatur opsi yang lebih disukai untuk perintah apa pun dan variabel tersebut dapat dirujuk di bagian skrip selanjutnya untuk mencukupi kebutuhan alias di dalam skrip.
Tambahkan perintah 'shopt -s expand_aliases' di awal skrip untuk memperluas alias dan membuat perintah alias berfungsi di skrip bash.
# cat script.sh #!/bin/bash # Script to check the alias output shopt -s expand_aliases alias ls1='ls -lrt' ls1
# chmod +x script.sh # ./script.sh total 0 -rw-r--r-- 1 root root 0 Oct 12 12:14 file1 -rw-r--r-- 1 root root 0 Oct 12 12:14 file2