1、編寫
建立一個(gè)myshell.sh文件,使用vim進(jìn)行編輯。
elf@ubuntu:~/work/example/scrip_test$?vim myshell.sh |
在該文件中,添加:
#!/bin/bash
echo "my first shell !" |
其中#!/bin/bash用來(lái)指定使用的shell應(yīng)用;echo "my first shell !"為腳本中編寫的命令代碼。
2、執(zhí)行
在執(zhí)行腳本時(shí),腳本必須要有執(zhí)行權(quán)限,首先給腳本賦予可執(zhí)行權(quán)限:
elf@ubuntu:~/work/example/scrip_test$?sudo chmod a+x myshell.sh |
執(zhí)行腳本的方式一般有以下4種:
1)在腳本當(dāng)前目錄進(jìn)行執(zhí)行
直接使用./myshell.sh:
2)在絕對(duì)路徑下執(zhí)行
使用pwd命令查看當(dāng)前路徑,并使用絕對(duì)路徑執(zhí)行myshell.sh:
3)shell應(yīng)用程序執(zhí)行
shell腳本也可直接使用shell應(yīng)用程序進(jìn)行執(zhí)行。我們前面說(shuō)過(guò),我們指定的shell應(yīng)用為/bin/bash,所以,我們使用bash程序直接執(zhí)行myshell.sh,或者/bin/bash myshell.sh:
如果使用shell應(yīng)用進(jìn)行執(zhí)行,那么在腳本編寫時(shí),可以不用在第一行指定shell應(yīng)用程序;此外,使用shell應(yīng)用進(jìn)行腳本執(zhí)行時(shí),腳本文件可以不被賦予可執(zhí)行權(quán)限。
4)使用source或小數(shù)點(diǎn)(.)執(zhí)行
使用source或 . (.后邊有空格)執(zhí)行,是在當(dāng)前shell環(huán)境下讀取并執(zhí)行shell腳本,可以不被賦予執(zhí)行權(quán)限。
與前幾種執(zhí)行方式不同的是,使用該方式執(zhí)行后,腳本中定義的變量不會(huì)釋放。例如,我在腳本中增加一個(gè)變量var=235,變量的定義具體細(xì)節(jié),可以參考下一節(jié)。
#!/bin/bash
echo "my first shell !" var=235 |
使用其他方式執(zhí)行后,使用echo ${var}命令(關(guān)于變量的使用可以參考下一節(jié))將變量值輸出進(jìn)行查看,如下圖,可以看到?jīng)]有輸出var的值;然后再使用source. 或進(jìn)行腳本執(zhí)行,再次查看var變量的值,可以看到成功輸出235,該方式執(zhí)行腳本后的變量,沒(méi)有釋放,所以我們經(jīng)常使用source來(lái)配置shell環(huán)境變量,后邊講開(kāi)發(fā)板交叉編譯工具設(shè)置時(shí)會(huì)使用到。