1.判斷一個命令的結果使用test,其返回0,或一個整數。返回0表示true,返回整數表示錯誤碼
2.獲取上一個命令的返回結果使用$?
3.例如
我的伺服器上面存在/home/www這樣一個資料夾,所以ls /home/www這個命令的返回結果為0;
即echo $?的返回值為0
我的伺服器上面不存在/home/kkk這樣一個資料夾,所以ls /home/kkk這個命令的返回結果為這個命令執行後的錯誤碼;
即echo $?的返回結果為2。這個2表示檔案或資料夾不存在。
4.常用的檔案測試符
-e表示此檔名是否存在
-f表示此檔名是否是檔案
-d表示此檔名是否是資料夾
-r表示此檔名是否可讀
-w表示此檔案是否可寫
-x表示此檔案是否可執行
-S表示此檔案是否問socket
4.1在我的伺服器上/home/www為一個資料夾
所以test -e /home/www的結果為0,即true,此檔名存在
所以test -f /home/www 的結果不為0,即false,此檔名不為檔案
所以test -d /home/www的結果為0,即為true,此檔名為資料夾
4.2在我的伺服器上/home/kkk這個檔名不存在
所以test -e /home/kkk的結果不為0,即false,此檔名不存在
所以test -d /home/kkk的結果不為0,即false,此檔名不問資料夾。
1.判斷一個命令的結果使用test,其返回0,或一個整數。返回0表示true,返回整數表示錯誤碼
2.獲取上一個命令的返回結果使用$?
3.例如
我的伺服器上面存在/home/www這樣一個資料夾,所以ls /home/www這個命令的返回結果為0;
即echo $?的返回值為0
我的伺服器上面不存在/home/kkk這樣一個資料夾,所以ls /home/kkk這個命令的返回結果為這個命令執行後的錯誤碼;
即echo $?的返回結果為2。這個2表示檔案或資料夾不存在。
4.常用的檔案測試符
-e表示此檔名是否存在
-f表示此檔名是否是檔案
-d表示此檔名是否是資料夾
-r表示此檔名是否可讀
-w表示此檔案是否可寫
-x表示此檔案是否可執行
-S表示此檔案是否問socket
4.1在我的伺服器上/home/www為一個資料夾
所以test -e /home/www的結果為0,即true,此檔名存在
所以test -f /home/www 的結果不為0,即false,此檔名不為檔案
所以test -d /home/www的結果為0,即為true,此檔名為資料夾
4.2在我的伺服器上/home/kkk這個檔名不存在
所以test -e /home/kkk的結果不為0,即false,此檔名不存在
所以test -d /home/kkk的結果不為0,即false,此檔名不問資料夾。