01/10/2018, 09:59

Tham số dòng lệnh trong bash shell

mọi người cho mình hỏi mình đang học về bash shell và ở phần tham số dòng lệnh có phần định nghĩa:

Tham số lệnh là gì?
Tham số lệnh
Giả sử ta có script tên myself , để thực thi script này ta cần truyền vào 2 tham số như sau :
$ myself one two
Trong đó
myself là tên script
one : tham số thứ nhất truyền vào script
two : tham số thứ hai
Trong shell, bạn truy xuất đến những tham số như sau :
myself là $0
one là $1
two là $2
Và biến $# (có sẵn trong shell) sẽ cho giá trị 2 (có 2 tham số one và two). Bạn có thể lấy tất cả các tham số bằng cách sử dụng biến $@ hoặc $*

vậy tại sao k là $ ./myself.sh one two mà lại là $ myself one two .
hay đây chỉ là mô tả để chúng ta biết $0 tương đương với myself thôi ạ.
Cảm ơn mọi người nhiều ạ !!!

Khoa NTA viết 12:10 ngày 01/10/2018

Đúng rồi bạn, $0 tương đương với tên lệnh.
Linux không quan trọng đuôi file lắm nên có .sh hay không cũng không sao, miễn là nó có thuộc tính x (executable).
Còn việc: tại sao là myself thay vì ./myself.sh là do người viết bài thôi :v người ta không đặt đuôi file (tiện gõ lệnh hơn là phải thêm cái .sh) và miễn cái script đó nằm trong 1 trong các directory trong biến môi trường PATH thì được.

Nhật Minh viết 12:08 ngày 01/10/2018

ok, tks bạn nhiều lắm ạ

Bài liên quan
0