Thứ Hai, 30 tháng 3, 2015

Invoking a bash script.

Bài viết thực hiện trên:
thanhnguyen@thanhnguyen:~$ lsb_release -ir
Distributor ID:    Ubuntu
Release:    12.04

Xét với một bash script như sau (xét với một ví dụ simplest):
root@thanhnguyen:~# cat print.sh
#!/bin/bash
echo "hello $1"

Đương nhiên, bạn có thể chạy nó với câu lệnh :
root@thanhnguyen:~# bash print.sh
hello 
Nhưng thuận tiện hơn, chúng ta có thể sét quyền thực thi cho script, với lệnh chmod.
root@thanhnguyen:~# chmod 555 print.sh (quyền đọc, thực thi với tất cả các user)
Hoặc
root@thanhnguyen:~# chmod +rx print.sh (quyền đọc, thực thi với tất cả các user)
Để kiểm tra:
root@thanhnguyen:~# ./print.sh
hello
root@thanhnguyen:~# ./print.sh thanh
hello thanh
Ok. script đã được thực thi.
Để script có thể được gọi ra như một systemwide executable, nghĩa là các user có thể gọi chúng bằng cách gõ dòng lệnh:
tên file [ENTER]
ta cần move chúng tới một trong các thư mục sau:
thanhnguyen@thanhnguyen:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
root@thanhnguyen:~# mv print.sh /usr/local/bin/
root@thanhnguyen:~# print.sh
hello
root@thanhnguyen:~# print.sh thanh
hello thanh

1 nhận xét:

  1. ta cần move chúng tới thư mục /usr/local/bin
    không chuẩn, nó chỉ cần nằm trong $PATH là được.

    Trả lờiXóa