Cách chạy .sh trong linux

Trong Linux, các tệp có phần mở rộng tên tệp .sh thường là các tập lệnh shell, là các chương trình được giải thích bởi shell lệnh. Shell script không cần phải có phần mở rộng tên tệp. Trong thực tế, họ có thể được đặt tên bất cứ điều gì cả. Vì lý do lịch sử, tuy nhiên, họ thường có phần mở rộng .sh .

Làm cho các kịch bản shell thực thi

Các kịch bản Shell phải được đánh dấu là có thể thực thi được trước khi bạn có thể chạy chúng. Bạn có thể kiểm tra các quyền của một tệp, còn được gọi là chế độ tệp của nó, bằng cách xem danh sách thư mục dài bằng lệnh ls -l . Nếu bạn cung cấp tên tệp, bạn sẽ nhận được thông tin chỉ cho tệp đó. Chẳng hạn, ở đây chúng ta có một tệp có tên là somefile và chúng ta xem các quyền bằng lệnh ls -l somefile :

Mười ký tự " -rw-r - r-- " đại diện cho chế độ tệp của somefile . Để biết thêm thông tin về quyền truy cập tệp, hãy xem Quyền là gì và chúng hoạt động như thế nào?

Ở đây, chế độ tập tin chỉ ra rằng chúng ta có thể đọc và viết một số tệp, nhưng không thể thực thi nó. Chúng ta có thể thiết lập quyền thực thi bằng lệnh chmod, thay đổi chế độ tệp:

Lệnh chmod u + x somefile thiết lập bit quyền thực thi cho chủ sở hữu tệp. Bạn có thể thấy rằng dòng quyền bây giờ có x ở vị trí thứ tư, đại diện cho quyền thực thi của chủ sở hữu trên tệp. Ngoài ra, lưu ý rằng tên tệp được liệt kê bằng màu (ở đây, nó được hiển thị bằng màu xanh lá cây). Màu sắc có thể khác trên hệ thống của bạn, nhưng nhiều bản phân phối Linux được định cấu hình để chỉ ra các tệp thực thi sử dụng màu riêng biệt khi bạn chạy lệnh ls .

Bạn có thể làm theo quy trình tương tự cho bất kỳ tệp script .sh nào bạn có thể cần thực thi. Ví dụ: nếu bạn viết một tập lệnh tùy chỉnh và đặt tên là myscript.sh, bạn nên chạy chmod u + x myscript.sh trước khi thử chạy nó.

Thực thi một tập lệnh từ dòng lệnh

Để thực thi tập lệnh shell, bạn cần chỉ định tên đường dẫn của tập lệnh tại dấu nhắc lệnh. Ví dụ, nếu tập lệnh được đặt tên install.sh và nó nằm trong thư mục làm việc của bạn, bạn có thể chạy nó với lệnh bên dưới.

 ./install.sh 

Các lệnh trên cho shell, "thực thi tệp install.sh nằm trong thư mục hiện tại." Nếu install.sh nằm trong thư mục myscripts trong thư mục chính của bạn, bạn có thể chạy nó bằng lệnh bên dưới.

 ~ / myscripts / install.sh 

Lưu ý: Chỉ định tên đường dẫn đến tệp tập lệnh (chứ không phải chỉ nhập inshall.sh ) làm biện pháp bảo mật: shell muốn đảm bảo rằng nó đang chạy cài đặt chính xác. Vì vậy, nó yêu cầu bạn chỉ định chính xác vị trí.

Ngoại lệ duy nhất là nếu tập lệnh của bạn nằm trong một thư mục được liệt kê trong biến môi trường PATH của hệ thống. Nếu đó là trường hợp, bạn có thể thực thi tệp bằng cách chạy lệnh install.sh .