shell腳本學習第一彈
作為一個linux程序員,不會shell的腳本的編寫,可是不合格的呀!!!
今天,我們一起來看看shell腳本的編寫:
別的先不說,先來一個入門級的案例:
1 #!/bin/bash
2 #當前路徑
3 pwd
4 #打印hello
5 echo "hello"
我們執(zhí)行
chmod +x hello.sh
./hello.sh
結(jié)果:
/home/shell
hello
能打印出這個,說明入門了。
我們來看看上面這個腳本,首先,我就有幾個疑問?
- 1 為什么要用#!/bin/bash
- 2.執(zhí)行的過程是什么?
簡答:
- 我們從程序執(zhí)行的角度來說的話,如果一個程序沒有執(zhí)行權(quán)限的話,機器就會報錯“權(quán)限不夠”這類的錯誤;換個角度來說的話,不管什么程序執(zhí)行,都要判斷這個程序是否有對應的權(quán)限,如果沒有權(quán)限,一般是沒有辦法執(zhí)行的。
2.在linux系統(tǒng)中,個文件加權(quán)限的方式是:chmod ,+x表示給程序叫上可執(zhí)行的權(quán)限。shell收到我們執(zhí)行的命令后,會調(diào)用linux內(nèi)核命令來新建一個進程來處理我們的命令。像我們C/C++編譯完都是二進制的文件,linux內(nèi)核知道怎么去執(zhí)行它,但是我們的.sh的腳本文件的話,它是一個文本文件,內(nèi)核不知道怎么去執(zhí)行,所以就該我們的“#!/bin/bash”出場了,這個我更愿意叫他解釋器。當命令行發(fā)現(xiàn)“#!”的時候,它就會在這個后面找到解釋器的路徑,當然,一個機器可能有幾個解釋器,我們可以用命令“whereis shell”進行查看!到此為止,我們就知道為什么要用“#!/bin/bash”了!!!!!