shell指令碼中 if 判斷時候 s是什麼意思

時間 2021-12-25 09:33:40

1樓:老魯漫漫說

指的是檔案大小非0時為真。

shell中怎麼判斷輸入的是否是數字:

第一種:sed格式

首先:我們先(在命令列直接輸出模擬一下,如果都正確再在shell指令碼中進行書寫。)直接echo輸出一下

echo "111asd"

第一步:思想

然後我們就要想一下我們要說用sed判斷,但是sed的最主要的功能是什麼?替換!!!當然是替換,既然是替換那麼我們能不能直接把echo輸出的數字直接替換掉,然後看這個輸出還剩下什麼呢?

如果我們剩下的空,那麼我就基本可以確定我echo輸出的就是空,如果我sed替換之後不是空,那麼我是不是就是可以認為我echo輸出的不是數字或不全是數字呢?

第二步:命令列測試:

[root@localhost shell]# echo "111asd" | sed 's#[0-9]##g' | cat -a

asd$

[root@localhost shell]# echo "111" | sed 's#[0-9]##g' | cat -a

第三步:進行shell測試

經過第二步我們很明顯就能看出來這個想法是能夠實現的。所以在shell中配合-z(zero)-n(no zero)是完全可以實現的,所以這個時候我們就可以進行指令碼的編寫測試了。

#!/bin/bash

# file name: test.sh

# version: v1.0

# author: ls

# created time : 2017-02-24 06:25:13

# description:

#互動式外部讀取

read -p "pleace input: " a1

#if進行數字判斷

if [ -z "$(echo $a1 | sed 's#[0-9]##g')" ]

then

#如果是數字輸出yes給$?乙個1的返回值並退出。

echo "yes"

exit 1

else

#如果不是數字輸出no給$?乙個1的返回值並退出。

echo "no"

[root@localhost shell]# sh test.sh

pleace input: 1

yes[root@localhost shell]# sh test.sh

pleace input: q1no

2樓:匿名使用者

-s file true if the file has nonzero size

判斷檔案的大小是否非0. 如果檔案存在並且大小非0,則返回true

3樓:冉易雲

-s file     檔案大小非0時為真[ -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)指定的裝置為終端時為真

shell指令碼中: if [ -f /filea -a -o /fileb ]; then 語句中判斷條件怎麼理解,邏輯關係是什麼? 95

4樓:

-a是and,左右條件兩者都成立

-o是or,左右條件任意一條成立

5樓:

你可以在man test,看到

expression1 -a expression2both expression1 and expression2 are true

expression1 -o expression2either expression1 or expression2 is true

,-a就是兩者都為真,-o就是其中乙個為真-f file

file exists and is a regular file-o file

file exists and is owned by the effective user id

6樓:又為勝利而來

shell的意思是殼,在計算機領域的意思是人機介面。人在殼外,計算機在殼內。

pc的dos系統就是人機介面,用鍵盤打入的命令或讓計算機執行的命令組合bat檔案,都通過介面的解釋,告訴計算機要執行的任務。

unix,linux等系統也有類似dos的東西,有sh,csh等人機介面,它們的bat就是 sh 指令碼,csh 指令碼 (script).

人機介面的核心,是乙個解釋程式。3

如何在shell指令碼中執行cd命令

在工作中,網際網路公司,經常不是直接登入到服務上,而是通過跳板機進行中轉。這樣就會用到cd命令切換目錄。編輯shell檔案 vim switchdir.sh plain view plain copycd opt service mobile kafka 2.10 0.8.1 lizt bin so...

求教關於shell指令碼中引數中的轉義空格

柳鯤鵬 自己嘗試了一番,終於找到真正解決辦法。這個辦法的優點是,可以同時傳遞多個帶空格的引數。注意下文中有黑體的部分 主指令碼test.sh project clean 0 project files file1 file2 build project.sh project clean projec...

2在shell指令碼中是什麼意思

在unix linux裡面執行的程式列印到銀幕上有兩個不同的路涇,乙個是stdout standard output 另乙個是stderr standard error 這兩者雖然平時都同樣的顯示在螢幕上,但是如果你想把他們存入檔案檔案裡時,他們可以單獨的存入不同的文件,例如 把 programa ...