Aliran standar & argumen

Pengantar Bash Scripting

Alex Scriven

Data Scientist

STDIN-STDOUT-STDERR

Dalam skrip Bash, ada tiga “stream” untuk program Anda:

  • STDIN (standard input). Aliran data masuk ke program
  • STDOUT (standard output). Aliran data keluar dari program
  • STDERR (standard error). Kesalahan pada program

Secara default, stream ini berasal dari dan menulis ke terminal.

Anda mungkin melihat 2> /dev/null pada pemanggilan skrip; mengalihkan STDERR untuk dihapus. (1> /dev/null untuk STDOUT)

Pengantar Bash Scripting

STDIN-STDOUT secara grafis

Berikut representasi grafis aliran standar, menggunakan pipeline yang dibuat sebelumnya:

Diagram Aliran Standar

Pengantar Bash Scripting

Contoh STDIN

Pertimbangkan berkas teks (sports.txt) dengan 3 baris data.

football
basketball
swimming

Perintah cat sports.txt 1> new_sports.txt adalah contoh mengambil data dari berkas dan menulis STDOUT ke berkas baru. Lihat hasilnya jika Anda cat new_sports.txt

football
basketball
swimming
Pengantar Bash Scripting

STDIN vs ARGV

Konsep kunci di skrip Bash adalah argumen

Skrip Bash dapat menerima argumen untuk digunakan di dalamnya dengan menambahkan spasi setelah pemanggilan skrip.

  • ARGV adalah array semua argumen yang diberikan ke program.
  • Tiap argumen diakses dengan notasi $. Pertama $1, kedua $2, dst.
  • $@ dan $* memberi semua argumen di ARGV
  • $# memberi jumlah argumen
Pengantar Bash Scripting

Contoh ARGV

Pertimbangkan skrip contoh (args.sh):

#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Pengantar Bash Scripting

Menjalankan contoh ARGV

Sekarang jalankan bash args.sh one two three four five

one
two
one two three four five
There are 5 arguments

 

#!/usr/bash
echo $1
echo $2
echo $@
echo "There are " $# "arguments"
Pengantar Bash Scripting

Ayo berlatih!

Pengantar Bash Scripting

Preparing Video For Download...