Linux的shell腳本分支控制
登錄CentOS7系統(tǒng),打開終端,新建文件首先,我們需要登錄到CentOS7系統(tǒng),并打開終端。然后,通過以下命令來創(chuàng)建一個(gè)名為的文件:```vi ```在中寫入內(nèi)容在文件中,我們需要寫入以下內(nèi)容:``
登錄CentOS7系統(tǒng),打開終端,新建文件
首先,我們需要登錄到CentOS7系統(tǒng),并打開終端。然后,通過以下命令來創(chuàng)建一個(gè)名為的文件:
```
vi
```
在中寫入內(nèi)容
在文件中,我們需要寫入以下內(nèi)容:
```sh
!/bin/sh
if [ -d ~/test ]; then
echo 'test is a directory'
fi
```
保存退出,運(yùn)行
保存并退出文件后,我們可以通過以下命令來運(yùn)行該腳本:
```
source
```
這時(shí)候,腳本將會(huì)正常運(yùn)行。但是由于用戶目錄下沒有名為test的目錄,所以不會(huì)有任何輸出。
創(chuàng)建test目錄,并運(yùn)行腳本
接下來,我們需要?jiǎng)?chuàng)建一個(gè)名為test的目錄,并再次運(yùn)行腳本??梢酝ㄟ^以下命令來創(chuàng)建目錄:
```
mkdir test
```
然后,再次運(yùn)行腳本:
```
source
```
這次,腳本將會(huì)輸出"test is a directory"。
修改腳本
如果我們將if和then寫在不同行上,就不再需要使用分號(hào)。因此,我們可以將腳本修改如下:
```sh
!/bin/shecho "Is it morning? Please answer yes or no."
read YES_OR_NO
if [ "$YES_OR_NO" "yes" ]
then
echo "Good morning!"
elif [ "$YES_OR_NO" "no" ]
then
echo "Good afternoon!"
else
echo "Sorry, $YES_OR_NO not recognized. Enter yes or no."
fi
```
在這個(gè)修改后的腳本中,我們使用了read命令來等待輸入,并將輸入的值保存到變量YES_OR_NO中。
運(yùn)行腳本,查看信息
現(xiàn)在,我們可以運(yùn)行腳本并查看輸出信息。如果輸入“yes”,腳本將輸出"Good morning!";如果輸入“no”,腳本將輸出"Good afternoon!";如果輸入除了“yes”和“no”之外的其他值,腳本將輸出"Sorry, <輸入值> not recognized. Enter yes or no."。
請(qǐng)按照以下步驟操作:
1. 運(yùn)行腳本:`source `
2. 輸入"yes"并查看輸出結(jié)果。
3. 再次運(yùn)行腳本:`source `
4. 輸入"no"并查看輸出結(jié)果。
5. 再次運(yùn)行腳本:`source `
6. 輸入除了"yes"和"no"之外的其他值,并觀察輸出結(jié)果。
通過以上步驟,你可以測(cè)試腳本在不同條件下的輸出。