shell指令碼d是目錄檔案,那麼e,f分別是什麼

2021-03-07 21:50:32 字數 1695 閱讀 6192

1樓:匿名使用者

-e表示如果filename存在,則為真。

-f表示如果filename為常規檔案,則為真。

!-e表示取非,如果filename存在,則為假。

擴充套件資料:

shell和shell指令碼的區別:

確切一點說,shell就是一個命令列直譯器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為使用者提供了一個向linux傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止甚至是編寫一些程式。

shell本身是一個用c語言編寫的程式,它是使用者使用linux的橋樑。shell既是一種命令語言,又是一種程式設計語言(就是你所說的shell指令碼)。

作為命令語言,它互動式地解釋和執行使用者輸入的命令;作為程式設計語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。

它雖然不是 linux系統核心的一部分,但它呼叫了系統核心的大部分功能來執行程式、建立文件並以並行的方式協調各個程式的執行。

2樓:匿名使用者

-e filename 如果 filename存在,則為真-d filename 如果 filename為目錄,則為真-f filename 如果 filename為常規檔案,則為真-l filename 如果 filename為符號連結,則為真-r filename 如果 filename可讀,則為真-w filename 如果 filename可寫,則為真-x filename 如果 filename可執行,則為真-s filename 如果檔案長度不為0,則為真-h filename 如果檔案是軟連結,則為真filename1 -nt filename2 如果 filename1比 filename2新,則為真。

filename1 -ot filename2 如果 filename1比 filename2舊,則為真。

-eq 等於

-ne 不等於

-gt 大於

-ge 大於等於

-lt 小於

-le 小於等於

至於!號那就是取非了唄!

3樓:匿名使用者

[ -f "somefile" ] :判斷是否是一個檔案

[ -x "/bin/ls" ] :判斷/bin/ls是否存在並有可執行許可權

[ -n "$var" ] :判斷$var變數是否有值

[ "$a" = "$b" ] :判斷$a和$b是否相等 -r file 使用者可讀為真

-w file 使用者可寫為真

-x file 使用者可執行為真

-f file 檔案為正規檔案為真

-d file 檔案為目錄為真

-c file 檔案為字元特殊檔案為真

-b file 檔案為塊特殊檔案為真

-s file 檔案大小非0時為真

-t file 當檔案描述符(預設為1)指定的裝置為終端時為真

-ne —比較兩個引數是否不相等

-lt —引數1是否小於引數2

-le —引數1是否小於等於引數2

-gt —引數1是否大於引數2

-ge —引數1是否大於等於引數2

-f — 檢查某檔案是否存在(例如,if [ -f "filename" ])

-d — 檢查目錄是否存在

我有shell指令碼想把輸出結果寫到另檔案中

舉個例子 echo hello,world b.txt 這是第一個命令的輸出 ifconfig b.txt 這是第二個命令的輸出 表示在檔案末尾追加 輸出用 echo 啊 不懂你意思,1是標準輸出是預設的,寫不寫都一樣。echo hello,world b.txt exec 1 是什麼意思,哪有這個...

如何在shell指令碼中,判斷基本命令執行是否成功

1.連線到相應的linux主機,進入linux命令列狀態,等待shell命令的輸入。2.在linux命令列下,輸入shell命令 telnet192.168.120.209。3.最後,按下回車鍵執行shell指令,此時會看到telnet並沒有連線成功。注意事項 附件 linux系統外殼原理 作為作業...

D盤檔案革除,是系統檔案,想要格式化D盤,卻格不了

1全部格式化是在做作業系統時.我們輸入分割槽時輸入命令格式化的,並不是在做好操系統後才格式化的.如果是這樣的話,是無法格式化的.windows 的系統檔案應該安裝在c盤 硬碟的 比如說吧.現在我們有一塊320gb容量大小的日立硬碟的話,一般都要平均分配.如果是分為4個分割槽的話,前面三個硬碟分割槽都...