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 ...