當前位置:首頁 » 編程軟體 » shell腳本else

shell腳本else

發布時間: 2022-03-30 10:11:02

A. shell if else if

if 與elif是同等級的,進入了if分支,elif是不會進入的

B. shell腳本,條件控制語句求助

#!/bin/bash

test_file(){
[ -f $1 ] && echo $1" 文件已存在" || touch $1
}

test_file /home/app/zhu/A.txt
test_file /home/app/zhu/B.doc

C. 小弟初學shell,各位大俠請幫忙看一下啊,下面語句為啥一直走的是else分支

[ ! -n $pid1 ] 寫法錯誤,-n用於判斷字元串是否為空。

對於字元串變數,建議加雙引號,否則會有意想不到的錯誤。

以下幾種寫法都是可以的:

[-z"$pid1"]
[!-n"$pid1"]
[!"$pid1"]
["$pid1"=""]


你完全可以自己簡單測試:

pid1=""
[!-n$pid1]&&echohi#不會列印hi
[!-n"$pid1"]&&echohi#會列印hi
[-z"$pid1"]&&echohi#會列印hi

另外,[ -n "$pid1" ] 中-n可省略,可直接寫為 [ "$pid1" ],參見《鳥哥的Linux私房菜(基礎學習篇)》 shell腳本那一章節。

D. shell中if else怎麼判斷fi個數

統計文件中fi出現的次數嗎?
cat <filename>|grep -c "fi"
或者vi到文件里,非編輯模式下輸入/fi,再逐次按n鍵,檢索fi

E. shell腳本中的if中多條件語句如何寫。

可以使用 if-elif-else 語法來寫多條件語句。

1、首先要理解if-else的基本用法,if條件+then操作+else操作+fi閉合,書寫方法如下:

2、 shell語法中[[ ]]和[ ]的主要區別

(1) [ ] 實際上是bash 中 test 命令的簡寫。即所有的 [ expr ] 等於 test expr。
對 test 命令來說, 用 -eq 要進行數字比較,而你此時傳入字元串,就報錯了。


(2) [[ ]] 是內置在shell中的一個命令,它比test強大的多。支持字元串的模式匹配(使用=~操作符時甚至支持shell的正則表達式)。邏輯組合可以不使用test的-a,-o而使用&& ||。

F. 菜鳥請教shell編程問題 case if else

#
# 用一個while loop 直到不想玩了為止
#

while :
do
#
# ask user to enter the 1st number
#
read -p "please input the first number (or 'q' to quit): " first_num
if [ "$first_num" == "q" ]
then
echo "bye!"
exit
else
# check if the input is all digits
re='^[0-9]+$'
if ! [[ $first_num =~ $re ]]
then
echo "first_num is non-numeric, 重來!"
continue
fi
fi
#
# ask user to enter the 2nd number
#
read -p "please input the second number (or 'q' to quit): " second_num
if [ "$second_num" == "q" ]
then
echo "bye!"
exit
else
# check if the input is all digits
re='^[0-9]+$'
if ! [[ $second_num =~ $re ]]
then
echo "second_num is non-numeric, 重來!"
continue
fi
fi
#
# ask user to enter the operator (+,-,*,/)
#
read -p "please enter 運算符號(+,-,*,/): " operator
case $operator
in
'+') let result=$first_num+$second_num
echo "$first_num + $second_num = " $result
;;
'-') # 這些你自己可以做了
;;
'*') # 這些你自己可以做了
;;
'/') # 這些你自己可以做了
;;
*) # anything else is invalid
echo "Invalid operator, please enter '+','-','*','/', try again!"
;;
esac
done

G. shell腳本if then else的問題

問題出在echo("true")或者echo("false")這一句,ftp裡面不支持,你手動執行一下就知道了。

ftp>echo("true")
?Invalidcommand
ftp>help
Commandsmaybeabbreviated.Commandsare:

! debug mdir sendport site
$ dir mget put size
account disconnect mkdir pwd status
append exit mls quit struct
ascii form mode quote system
bell get modtime recv sunique
binary glob mput reget tenex
bye hash newer rstatus tick
case help nmap rhelp trace
cd idle nlist rename type
cp image ntrans reset user
chmod lcd open restart umask
close ls prompt rmdir verbose
cr macdef passive runique ?
delete mdelete proxy send

H. shell腳本 elseif嗎

有的。可以按照下面的格式來

#!/bin/bash
if[];then
XXX
elif[];then
XXX
else
XXX
fi

I. shell腳本, if語句必須要有else嗎

不必須,可以直接
if 【條件】
【要做的內容】
fi;
這樣就可以了。也可以用else
if 【條件1】
【要做的內容1】
else if 【條件2】
【要做的內容2】
fi;

J. shell編程,if,else之後怎麼執行多條語句只能用&&

#!/bin/bash

TODAY=$(date +"%d")

if [ $TODAY == 01 ]; then
echo $(date +"%Y-%m-%d %H:%M:%S.%N" | cut -b 1-23) "full backup 01. "
echo $(date +"%Y-%m-%d %H:%M:%S.%N" | cut -b 1-23) "fffffff. "
echo $(date +"%Y-%m-%d %H:%M:%S.%N" | cut -b 1-23) "ddddddd. "
echo $(date +"%Y-%m-%d %H:%M:%S.%N" | cut -b 1-23) "f123456 "

elif [ $TODAY == 15 ];then
echo $(date +"%Y-%m-%d %H:%M:%S.%N" | cut -b 1-23) "full backup 15. "
tar Jcf /opt/$(date +"%Y%m%d").tar.xz /tmp/*
else
echo '111111111'
fi

熱點內容
8方壓縮垃圾車價格 發布:2025-01-23 15:13:19 瀏覽:814
數組存儲在哪 發布:2025-01-23 15:09:50 瀏覽:893
php獲取二維數組的值 發布:2025-01-23 15:08:03 瀏覽:673
上傳為防盜鏈圖片 發布:2025-01-23 14:57:11 瀏覽:301
伺服器essd什麼意思 發布:2025-01-23 14:51:24 瀏覽:269
spring上傳文件限制 發布:2025-01-23 14:50:30 瀏覽:310
奇亞幣p圖軟體存儲機 發布:2025-01-23 14:38:03 瀏覽:44
linux有用的命令 發布:2025-01-23 14:35:03 瀏覽:682
php顯示縮略圖 發布:2025-01-23 14:22:17 瀏覽:726
安卓哈利波特怎麼更換賬號 發布:2025-01-23 14:16:44 瀏覽:586