Backbox Linux
  • Backbox Indonesia
  • Get's Started
    • System Requirements
    • Download Images
    • Installation
    • 5 Things To Do Right After Installing BackBox
  • Basic Linux
    • Mengenal GNU/Linux
    • Kenapa Linux?
    • Linux Desktop vs Linux Server
    • Distro Linux
    • Struktur Direktori GNU/Linux
    • Linux File System
  • Basic Command
    • Introduction
      • Terminal
      • Accessing Linux
      • Network Command
      • Important to remember of Linux
      • Change Password
    • Fundamental
      • File System Navigation Commands
      • TAB Completion and Up Arrow
      • Linux Types File
      • Linux Command Syntax
      • Help Commands
      • Creating Files & Directories
      • Files and Directories Permission
      • Files Ownership
      • Access Control List
      • Soft and Hard Links
      • Find Files and Directories
      • Files Maintenance
      • Wildcards
      • File Display Commands
      • Adding Text to Files
      • Pipeline (|)
      • Standard Output to a File (tee)
      • Filters / Text Processors Commands
      • Compare Files
      • Compress and Uncompress File
      • Truncate File Size
      • Combining and Splitting Files
      • Linux vs Windows Commands
    • System Administration
      • Linux File Editor (vi)
      • sed - Command
      • User Account Management
      • Switch Users and Sudo Access
      • Monitor Users
      • Talking to Users
      • System Utility Commands
      • Process and Jobs
      • Addtional cronjobs
      • Process Management
      • System Monitoring Commands
      • System Logs Monitor
      • System Maintenance Commands
      • Changing System Hostname
      • Finding System Information
      • Finding System Architecture
      • Terminal Commands
      • Terminal Control Keys
      • Recover Root Password
      • SOS Report
  • Bash Scripting
    • Environment Variables
    • Apa itu Shell?
    • Basic Shell Scripting
    • Input/Output
    • Percabangan (If)
    • Perulangan (For)
    • Perulangan (While)
    • Percabangan (Case)
    • Fungsi
    • Alias
    • Shell History
  • Networking
    • Untitled
  • Disk Management
    • Untitled
Powered by GitBook
On this page
  • Menyimpan Inputan User
  • ./Contoh-1
  • ./Contoh-2
  • ./Contoh-3
  • Parameter
  • Membaca Parameter
  • Cek Parameter
  • Jumlah Parameter
  • Iterasi Parameter
  • Shifting
  • Options
  • Memisahkan Opsi dari parameter
  • Proses Opsi dengan Nilainya

Was this helpful?

  1. Bash Scripting

Input/Output

Pada materi kali ini kita akan mempelajari tentang cara menyimpan inputan user ke dalam sebuah variable, sehingga user dengan program bisa berinteraktif.

Untuk melakukan hal tersebut kita bisa menggunakan perintah read.

Menyimpan Inputan User

Terdapat 2 contoh dimana kita akan menginputkan suatu nilai ke dalam variable, lalu variable tersebut bisa kita olah lagi.

./Contoh-1

read.sh
#!/bin/bash
# Membaca inputan user

echo "Siapa nama kamu?"
read nama
echo

echo "Apa profesi kamu?"
read profesi
echo

echo "Profesi kamu sebagai $profesi sangatlah keren,"
echo "Semangat selalu ya $nama!"

./Contoh-2

rubah_nama_file.sh
#!/bin/bash
# Merubah nama file

echo -n "Nama file yang ingin dirubah nama: "
read filelama

read -p "Nama file yang baru: " filebaru

mv $filelama $filebaru
echo "\nFile tersebut telah diganti menjadi $filebaru"

./Contoh-3

#!/bin/bash
# Menginputkan password

read -s -p "Masukkan password: " mypass

echo "\nPassword kamu: $mypass "

Parameter

Dengan menggunakan parameter, kita bisa langsung meneruskan data ke dalam script.

Membaca Parameter

Contoh berikut saya menginputkan 3 parameter. parameter ke-1 bisa dipanggil dengan $1, parameter ke-2 bisa dipanggil dengan $2 dan seterusnya.

#!/bin/bash

echo $0 # Script name

echo $1 # 1st parameter

echo $2 # 2nd parameter

echo $3 # 3rd parameter

Cek Parameter

#!/bin/bash

if [ -n "$1" ] # pengecekan apakah parameter ke-1 tersedia
then 
    echo Hi $1.
else
    echo "Parameter tidak ditemukan. "
fi

Jumlah Parameter

#!/bin/bash

echo "Terdapat $# parameter."
#!/bin/bash

echo "Parameter terakhir adalah ${!#}"

Iterasi Parameter

Variable $* menampung semua parameter sebagai satu nilai. Sedangkan variable $@ menampung semua parameter sebagai nilai yang terpisah.

#!/bin/bash

echo "Variable \$*: $*"
echo "-----------"
echo "Variable \$@: $@"
#!/bin/bash

total=1

for var in "$*"
do
    echo "\$* Parameter #$total = $var"
    
    total=$(($total+1))
done

total=1

for var in "$@"
do
    echo "\$@ Parameter #$total = $var"
    
    total=$(($total+1))
done

Shifting

#!/bin/bash

total=1

while [ -n "$1" ]
do
    echo "Parameter ke-1 = $1"

    shift
done

Options

#!/bin/bash

while [ -n "$1" ]
do
    case "$1" in
        
        -a) echo "Opsi -a dipilih" ;;
        
        -b) echo "Opsi -b dipilih" ;;
        
        -c) echo "Opsi -c dipilih" ;;
        
        *) echo "Opsi $1 tidak tersedia" ;;
        
    esac
    
    shift
done

Memisahkan Opsi dari parameter

#!/bin/bash

while [ -n "$1" ]
do
    case "$1" in
        
        -a) echo "Opsi -a dipilih" ;;
        
        -b) echo "Opsi -b dipilih" ;;
        
        -c) echo "Opsi -c dipilih" ;;
        
        --)
            shift
            break # keluar dari looping
        ;;
        
        *) echo "Opsi $1 tidak tersedia" ;;
        
    esac
    
    shift
done

total=1

for param in $@
do
    echo "#$total: $param"
    
    total=$(($total + 1))
done

Proses Opsi dengan Nilainya

#!/bin/bash

while [ -n "$1" ]
do
    case "$1" in
        
        -a) echo "Opsi -a dipilih" ;;
        
        -b) 
            param="$2"

            echo "Opsi -b dipilih dengan nilai $param"

            shift
        ;;
        
        -c) echo "Opsi -c dipilih" ;;
        
        --)
            shift
            break # keluar dari looping
        ;;
        
        *) echo "Opsi $1 tidak tersedia" ;;
        
    esac
    
    shift
done

total=1

for param in $@
do
    echo "#$total: $param"
    
    total=$(($total + 1))
done

PreviousBasic Shell ScriptingNextPercabangan (If)

Last updated 4 years ago

Was this helpful?