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,此文件名不問文件夾。