Bash memiliki beberapa perintah yang disertakan dengan shell (yaitu dibangun di dalam shell bash).
Saat Anda menjalankan perintah bawaan, bash shell langsung mengeksekusinya, tanpa menjalankan program lain.
Perintah bawaan shell bash lebih cepat daripada perintah eksternal, karena perintah eksternal biasanya memotong proses untuk mengeksekusinya.
Dalam artikel ini, mari kita tinjau beberapa bawaan bash shell yang berguna beserta contohnya.
1. Contoh Perintah Ekspor Bash
perintah export digunakan untuk mengekspor variabel atau fungsi ke lingkungan semua proses anak yang berjalan di shell saat ini.
export varname=value
export -f functionname # exports a function in the current shell.
Ini mengekspor variabel atau fungsi dengan nilai. Perintah "env" mencantumkan semua variabel lingkungan. Dalam contoh berikut, Anda dapat melihat bahwa env menampilkan variabel yang diekspor.
$ export country=India $ env SESSIONNAME=Console country=India _=/usr/bin/env
Perintah “export -p” juga menampilkan semua variabel yang diekspor di shell saat ini.
2. Contoh Perintah Bash eval
perintah eval menggabungkan semua argumen yang diberikan dan mengevaluasi ekspresi gabungan dan mengeksekusinya, dan mengembalikan status keluar dari perintah yang dieksekusi.
$ cat evalex.sh if [ ! -z $1 ] then proccomm="ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | grep $1" else proccomm="ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu" fi eval $proccomm
Cuplikan kode di atas menerima argumen, yang merupakan pola untuk perintah grep. Ini mencantumkan proses dalam urutan penggunaan cpu dan grep untuk pola tertentu yang diberikan di baris perintah.
Catatan: Artikel ini adalah bagian dari Seri Tutorial Bash kami yang sedang berlangsung.
3. Contoh Perintah Bash hash
perintah hash memelihara tabel hash, yang memiliki nama jalur perintah yang digunakan. Ketika Anda menjalankan sebuah perintah, ia mencari sebuah perintah dalam variabel $PATH.
Tetapi jika perintah tersebut tersedia di tabel hash, ia mengambil dari sana dan mengeksekusinya. Tabel hash mempertahankan jumlah klik yang ditemukan untuk setiap perintah yang digunakan sejauh ini di shell itu.
$ hash hits command 1 /usr/bin/cat 2 /usr/bin/ps 4 /usr/bin/ls
Anda dapat menghapus perintah tertentu dari tabel hash menggunakan opsi -d, dan opsi -r untuk mereset tabel hash lengkap.
$ hash -d cat $ hash hits command 2 /usr/bin/ps 4 /usr/bin/ls
4. Contoh Perintah Bash pwd
pwd adalah perintah bawaan shell untuk mencetak direktori kerja saat ini. Ini pada dasarnya mengembalikan nilai variabel bawaan ${PWD}
$pwd /home/sasikala/bash/exercises $echo $PWD /home/sasikala/bash/exercises
5. Contoh Perintah Bash readonly
perintah readonly digunakan untuk menandai variabel atau fungsi sebagai read-only, yang tidak dapat diubah lebih lanjut.
$ cat readonly_ex.sh #!/bin/bash # Restricting an array as a readonly readonly -a shells=("ksh" "bash" "sh" "csh" ); echo ${#shells[@]} # Trying to modify an array, it throws an error shells[0]="gnu-bash" echo ${shells[@]} $ ./readonly_ex.sh 4 readonly_ex.sh: line 9: shells: readonly variable
6. Contoh Perintah Bash shift
perintah shift digunakan untuk menggeser parameter posisi ke kiri sebanyak N kali dan mengganti nama variabel yang sesuai setelah digeser.
$ cat shift.sh #! /bin/bash while [ $# -gt 0 ] do case "$1" in -l) echo "List command" ls shift ;; -p) echo "Process command" ps -a shift ;; -t) echo "Hash Table command" hash shift ;; -h) echo "Help command" help shift ;; esac done $./shift.sh -l -t List command analysis break testing t1.sh temp Hash Table command hits command 1 /usr/bin/ls
7. Contoh Perintah uji Bash
perintah tes mengevaluasi ekspresi bersyarat dan mengembalikan nol atau satu berdasarkan evaluasi. Lihat halaman manual bash, untuk operator pengujian lainnya.
#! /bin/bash if test -z $1 then echo "The positional parameter \$1 is empty" fi
8. Contoh Perintah Bash getopts
getopts perintah digunakan untuk mengurai argumen baris perintah yang diberikan. Kita dapat menentukan aturan untuk opsi yaitu opsi mana yang menerima argumen dan mana yang tidak. Dalam perintah getopts, jika opsi diikuti oleh titik dua, maka opsi tersebut mengharapkan argumen untuk opsi tersebut.
getopts menyediakan dua variabel $OPTIND dan $OPTARG yang masing-masing memiliki indeks parameter berikutnya dan argumen opsi.
$ cat options.sh #! /bin/bash while getopts :h:r:l: OPTION do case $OPTION in h) echo "help of $OPTARG" help "$OPTARG" ;; r) echo "Going to remove a file $OPTARG" rm -f "$OPTARG" ;; esac done $ ./options.sh -h jobs help of jobs jobs: jobs [-lnprs] [jobspec ...] or jobs -x command [args] Lists the active jobs. The -l option lists process id's in addition to the normal information; the -p option lists process id's only.
9. Perintah Bash logout
Logout bawaan digunakan untuk keluar dari shell saat ini.
10. Contoh Perintah Bash umask
perintah umask menetapkan topeng pembuatan mode file untuk proses saat ini. Saat pengguna membuat file, izin defaultnya didasarkan pada nilai yang ditetapkan di umask. Izin default untuk file adalah 666, dan akan ditutup dengan bit umask saat pengguna membuat file.
Untuk detail lebih lanjut, silakan lihat artikel kami Izin File dan Direktori.
Saat pengguna membuat file 666 disamarkan dengan 022, maka izin file default adalah 644.
$ umask 0022 $ > temporary $ ls -l temporary -rw-r--r-- 1 root root 4 Jul 26 07:48 temporary
11. Contoh Perintah Bash set
set adalah perintah bawaan shell, yang digunakan untuk mengatur dan memodifikasi variabel internal shell. set perintah tanpa argumen mencantumkan semua variabel dan nilainya. perintah set juga digunakan untuk mengatur nilai parameter posisi.
$ set +o history # To disable the history storing. +o disables the given options. $ set -o history -o enables the history $ cat set.sh var="Welcome to thegeekstuff" set -- $var echo "\$1=" $1 echo "\$2=" $2 echo "\$3=" $3 $ ./set.sh $1=Welcome $2=to $3=thegeekstuff
12. Contoh Perintah Bash yang tidak disetel
unset built-in digunakan untuk mengatur variabel shell ke null. unset juga digunakan untuk menghapus elemen larik dan
untuk menghapus larik lengkap.
Untuk detail lebih lanjut tentang array Bash, lihat artikel kami sebelumnya 15 Operasi Bash Array
$ cat unset.sh #!/bin/bash #Assign values and print it var="welcome to thegeekstuff" echo $var #unset the variable unset var echo $var $ ./unset.sh welcome to thegeekstuff
Pada contoh di atas, setelah unset variabel “var” akan diberikan dengan string null.
13. Contoh Perintah Bash let
perintah let digunakan untuk melakukan operasi aritmatika pada variabel shell.
$ cat arith.sh #! /bin/bash let arg1=12 let arg2=11 let add=$arg1+$arg2 let sub=$arg1-$arg2 let mul=$arg1*$arg2 let div=$arg1/$arg2 echo $add $sub $mul $div $ ./arith.sh 23 1 132 1
14. Contoh Perintah Bash shopt
perintah shopt built in digunakan untuk mengatur dan menghapus opsi shell. Dengan menggunakan perintah ini, Anda dapat menggunakan kecerdasan shell.
$cat shopt.sh #! /bin/bash ## Before enabling xpg_echo echo "WELCOME\n" echo "GEEKSTUF\n" shopt -s xpg_echo ## After enabling xpg_echo echo "WELCOME\n" echo "GEEKSTUF\n" # Before disabling aliases alias l.='ls -l .' l. # After disabling aliases shopt -u expand_aliases l. $ ./shopt.sh WELCOME\n GEEKSTUF\n WELCOME GEEKSTUF total 3300 -rw------- 1 root root 1112 Jan 23 2009 anaconda-ks.cfg -r-xr-xr-x 1 root root 3252304 Jul 1 08:25 backup drwxr-xr-x 2 root root 4096 Jan 26 2009 Desktop shopt.sh: line 17: l.: command not found
Sebelum mengaktifkan opsi xpg_echo, pernyataan echo tidak memperluas urutan escape. "Aku." adalah alias ke ls -l dari direktori saat ini. Setelah menonaktifkan opsi expand_aliases di shell, itu tidak memperluas alias, Anda bisa melihat kesalahan l. perintah tidak ditemukan.
15. Contoh Perintah Bash printf
Mirip dengan printf dalam bahasa C, bash printf built-in digunakan untuk memformat operasi cetak.
Dalam contoh 13, skrip melakukan operasi aritmatika pada dua input. Dalam skrip tersebut alih-alih pernyataan gema, Anda dapat menggunakan pernyataan printf untuk mencetak keluaran berformat seperti yang ditunjukkan di bawah ini.
Di arith.sh, ganti pernyataan echo dengan pernyataan printf ini.
printf "Addition=%d\nSubtraction=%d\nMultiplication=%d\nDivision=%f\n" $add $sub $mul $div $ ./arith.sh Addition=23 Subtraction=1 Multiplication=132 Division=1.000000