Thứ Sáu, 28 tháng 7, 2023

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.

Mục lục

  • 1. Hàm read lấy thông tin từ bàn phím
  • 2. Nhận tham số parameters trong shell
  • 3. Ví dụ viết shell script di chuyển file
  • 4. Lời kết

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 [tranvanbinh.vn]

1
read variable

Ví dụ:

1
2
3
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:

1
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ụ.

read.sh
1
2
3
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ố.

Ví dụ
1
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:

1
2
# 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:

1
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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master