Shell 入門教程(十六) 如何進行檔案判斷

2022-07-12 04:45:16 字數 1068 閱讀 7155

檔案測試運算子用於檢測檔案的各種狀態和屬性,目前支援的運算子如下:

要特別注意的是-s file判斷檔案是否為空時,不為空才返回true。

變數 file 表示檔案/user/chenshuyi/hello.sh,它的大小為 52 位元組,具有 rwx 許可權。下面的**,將檢測該檔案的各種屬性:

#!/bin/bash

# author:陳樹義

# site:

file="/user/chenshuyi/hello.sh"

if [ -r $file ]

then

echo "檔案可讀"

else

echo "檔案不可讀"

fiif [ -w $file ]

then

echo "檔案可寫"

else

echo "檔案不可寫"

fiif [ -x $file ]

then

echo "檔案可執行"

else

echo "檔案不可執行"

fiif [ -f $file ]

then

echo "檔案為普通檔案"

else

echo "檔案為特殊檔案"

fiif [ -d $file ]

then

echo "檔案是個目錄"

else

echo "檔案不是個目錄"

fiif [ -s $file ]

then

echo "檔案不為空"

else

echo "檔案為空"

fiif [ -e $file ]

then

echo "檔案存在"

else

echo "檔案不存在"

fi

輸出結果為:

檔案可讀

檔案可寫

檔案可執行

檔案為普通檔案

檔案不是個目錄

檔案不為空

檔案存在

c 入門教程 十六

上一節我們講到了指標,這一節我們來用一用它 前面我們說過,函式的引數相當於是在函式開始的時候宣告的變數,當函式被呼叫時這個變數被賦予實際的值。然而當函式被呼叫結束以後,函式的引數也將消失。如下 然後我們開始去取陣列中後面的元素的資料。因為陣列是連續的空間,也就是說下乙個資料的位址等於 當前資料位址 ...

Shell 入門教程(四) 如何執行shell指令碼

執行 shell 指令碼有兩種方式,一種是通過 bash 命令,一種是作為可執行程式執行。我們寫了下面這樣乙個 shell 指令碼,並將其儲存為hello.sh bin bash echo hello shell.如果我們用bash命令執行,那麼是這樣的 bash hello.sh。執行後會輸出 h...

Shell 入門教程(十七) 如何使用陣列

shell 中有陣列這個概念,陣列中可以存放多個值。但 shell 只支援一維陣列,不支援多維陣列,初始化時不需要定義陣列大小。與大部分程式語言類似,陣列元素的下標由0開始。shell 陣列用括號來表示,元素用 空格 符號分割開,語法格式如下 array name value1 valuen 例如 ...