shell入門第三講
1、寫簡(jiǎn)單的shell腳本
1.1、打印hello world
打印hello world我想大家在接觸高級(jí)編程語(yǔ)言是最先學(xué)會(huì)的,當(dāng)然我們的shell并不屬于編程語(yǔ)言,它只是一種解釋性的腳本語(yǔ)言。我們先來(lái)看看第一個(gè)腳本語(yǔ)言。
[root@localhost ~]# vim hello.sh
#!/bin/bash
echo "hello world"
所謂shebang其實(shí)就是在很多腳本的第一行出現(xiàn)的以"#!"開(kāi)頭的注釋,他指明了當(dāng)我們沒(méi)有指定解釋器的時(shí)候默認(rèn)的解釋器,一般可能是下面這樣:
bash
#!/bin/bash
因?yàn)槲覀円话愣际褂胋ash shell,因此其他的shell類型不常用,因此我們只寫這個(gè)就行。
當(dāng)然,上面的這種寫法可能不太具備適應(yīng)性,畢竟腳本也有使用不同發(fā)行版系統(tǒng)的平臺(tái)限制,一般我們會(huì)用下面的方式來(lái)指定:
#!/usr/bin/env bash
像這種的是我們比較推薦的使用方式。
第二行的echo命令表示打印字串,要打印什么內(nèi)容就在echo命令后面寫上就可以了。要打印的內(nèi)容建議使用上雙引號(hào),當(dāng)然單引號(hào)也是可以的,不過(guò)兩者在使用上有一些小區(qū)別,后面我們會(huì)給大家解釋。
1.2、執(zhí)行shell腳本
執(zhí)行shell腳本大概有這幾種方法:
1.2.1、直接用bash解釋器執(zhí)行
[root@localhost ~]# bash hello.sh
hello world
像上面這種hello.sh腳本不帶有x執(zhí)行權(quán)限使用bash命令就可以執(zhí)行此腳本
1.2.2、使用 ./ 來(lái)執(zhí)行
默認(rèn)我們編寫的shell腳本是不帶x執(zhí)行權(quán)限的,那么就不能執(zhí)行,比如:
[root@localhost ~]# ls -l hello.sh
-rw-r--r-- 1 root root 31 Mar 18 09:26 hello.sh
此時(shí)執(zhí)行看看
[root@localhost ~]# ./hello.sh
-bash: ./hello.sh: Permission denied
因?yàn)闆](méi)有賦予x權(quán)限,因此就不能使用 ./ 的方式來(lái)執(zhí)行它。
此時(shí)我們添加x權(quán)限,來(lái)執(zhí)行
[root@localhost ~]# chmod u+x hello.sh
[root@localhost ~]# ls -l hello.sh
-rwxr--r-- 1 root root 31 Mar 18 09:26 hello.sh
[root@localhost ~]# ./hello.sh
hello world
這樣子就可以執(zhí)行了。
1.2.3、使用source命令來(lái)執(zhí)行
使用source命令也可以不賦予x權(quán)限就可以執(zhí)行,比如:
[root@localhost ~]# ls -l hello.sh
-rw-r--r-- 1 root root 31 Mar 18 09:40 hello.sh
[root@localhost ~]# source hello.sh
hello world
1.2.4、使用 . ?hello.sh 來(lái)執(zhí)行
[root@localhost ~]# ls -l hello.sh
-rw-r--r-- 1 root root 31 Mar 18 09:40 hello.sh
[root@localhost ~]# . hello.sh
hello world
前兩種方式使用的人比較多。后兩種對(duì)我們來(lái)說(shuō)也要學(xué)習(xí)會(huì)
好了,這就是今天分享的執(zhí)行shell腳本的集中方式,希望大家能夠吸收。
聲明:文章來(lái)源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除!