Tham số (Parameters) trong Shell Script
Trong bài này bạn sẽ được học cách xử lý tham số đầu vào của một chương trình shell. Nếu bạn từng học qua lập trình thì sẽ biết với mỗi hàm sẽ có các tham số truyền vào, điều này tương đương mỗi chương trình shell có thể xem như là một hàm, và nó sẽ có tham số truyền vào.
Ví dụ khi bạn viết chương trình di chuyển file nhanh từ folder /etc sang folder /usr thì sẽ cần hai tham số đó là tên file cần di chuyển và tên mới. Ok trước tiên mình sẽ giới thiệu hàm read dùng để lấy thông tin từ bàn phím.
1. Hàm read lấy thông tin từ bàn phím
Để lấy thông tin mà người dùng nhập từ bàn phím thì bạn sử dụng hàm read.
Bài viết này được đăng tại [free tuts .net]
read variable
Ví dụ:
var "Nhap ten cua ban" read name echo $name
2. Nhận tham số parameters trong shell
Để truyền một giá trị vào shell thông qua dòng lệnh command thì ta sẽ sử dụng tham số, cú pháp như sau:
sh sh_file_name.sh param1 param2 param3
Khi truyền vào thì thứ tự của tham số lần lượt là $1 $2 $3, ví dụ.
echo $1 echo $2 echo $3
Bây giờ bạn hãy chạy lệnh sau: sh read.sh freetuts cuong thehalfheart
thì kết quả sẽ như hình sau:
Như vậy các tham số sẽ cách nhau bằng khoảng trắng. Vậy nếu muốn truyền một chuỗi thông báo thì sao? Bạn sẽ đặt nó trong cặp nháy đơn để shell biết đó là một chuỗi, nếu không nó sẽ tách ra thành nhiều tham số.
sh read.sh "Nguyen van Cuong" "thehalfheart" "freetuts.net"
3. Ví dụ viết shell script di chuyển file
Giả sử mình đang ở thư mục /usr/local/bin
, bây giờ mình muốn viết shell script di chuyển một file ở thư mục này sang thư mục /temp
thì làm như sau:
# Move file mv /usr/local/bin/$1 /tmp/$2
Giả sử muốn di chuyển file freetuts và đặt tên mới là freetutsdotnet thì chạy command như sau:
sh move_file.sh freetuts freetutsdotnet
4. Lời kết
Như vậy là mình đã hướng dẫn bạn cách tiếp nhận tham số parameter trong shell script, bày này khá đơn giản, mục đích là giúp bạn biết cách lấy giá trị tham số truyền vào khi làm việc với shell script.