Shell Variables

Info
Pada bash/shell linux kita dapat mengatur variabel seperti halnya pada bahasa pemrograman lainnya. Nama variabel biasanya ditulis secara uppercase daripada lowercase.

Membuat Variabel

Cara membuat variabelnya adalah dengan menuliskan nama variabel di awal dan mengisi dengan nilainya.

1
[Script@centos-vm ~]$ HELLO="Hello World"

Menampilkan Variabel

Untuk cara menampilkannya kita bisa memanfaatkan perintah echo untuk melihat output dari variabel yang kita buat.

1
2
[Script@centos-vm ~]$ echo $HELLO
Hello World
Info
Secara default di bash/shell linux terdapat variabel yang sudah didefinisikan sebelumnya oleh sistem. Kita bisa melihatnya dengan menjalankan perintah env pada terminal.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
[Script@centos-vm ~]$ env
HOSTNAME=centos-vm
SHELL=/bin/bash
TERM=xterm-256color
HISTSIZE=1000
SSH_CLIENT=
SSH_TTY=
USER=Script
...
[Script@centos-vm ~]$

Menghapus Variabel

Untuk menghapus variabel yang sudah kita buat, kita bisa menggunakan perintah unset untuk menghapusnya.

1
2
3
4
[Script@centos-vm ~]$ unset HELLO
[Script@centos-vm ~]$ echo $HELLO

[Script@centos-vm ~]$
Catatan Penting
  • Penulisan variabel melalui terminal session bersifat sementara dan akan hilang ketika session di tutup atau membuka session baru. Jika ingin menyimpan variabel yang sudah dibuat secara permanen, maka kita bisa menyimpannya pada file yang berada di /etc/profile atau /etc/bashrc untuk sistem dan ~/.profile atau .bashrc untuk user.
Info
Variabel yang digunakan untuk operasi aritmatika diharuskan menggunakan perintah let sebelum penamaan variabelnya.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
[Script@centos-vm ~]$ NUMBER1=5
[Script@centos-vm ~]$ echo $NUMBER1
5
[Script@centos-vm ~]$ expr 5 + $NUMBER
10
### Without let command
[Script@centos-vm ~]$ NUMBER2=$NUMBER1+5
[Script@centos-vm ~]$ echo $NUMBER2
5+5
[Script@centos-vm ~]$ expr 5 + $NUMBER2
expr: not a decimal number: 'NUMBER1+5'
### With let command
[Script@centos-vm ~]$ let NUMBER2=$NUMBER1+5
[Script@centos-vm ~]$ echo $NUMBER2
10
[Script@centos-vm ~]$ expr 5 + $NUMBER2
15
Tips
  • Ada variabel unik yang bisa mengidentifikasi apakah perintah yang dijalankan sebelumnya berhasil atau tidak. Variabel tersebut adalah $? dan nilainya adalah 0 atau 1. Jika nilainya 0 maka perintah berhasil dan jika nilainya 1 maka perintah gagal.
1
2
3
4
5
6
7
8
[Script@centos-vm ~]$ echo $HELLO
Hello World
[Script@centos-vm ~]$ echo $?
0
[Script@centos-vm ~]$ cat /etc/passwdold
[Script@centos-vm ~]$ cat: /etc/passwdold: No such file or directory
[Script@centos-vm ~]$ echo $?
1