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

shell腳本if

發布時間: 2022-01-07 23:34:04

⑴ shell腳本if循環問題

剛看到,這么寫可以實現,代碼在linux上測過了:
#!/bin/bash
arr=(10 11 30)
for a in ${arr[*]}
do
ouput_s=$((ouput_s+a))
sum=$((sum+1))
done
echo "$ouput_s"
echo "$sum"

輸出:
51
3

⑵ linux shell if語句中~是什麼意思

if為判斷語句,判斷某個東西是否達到設定的條件。

1,格式為:

if語句格式
if條件
then
Command
else
Command
fi別忘了這個結尾

2,if的三種條件表達式:

ifcommandthen
if函數then命令執行成功,等於返回0(比如grep,找到匹配)執行失敗,返回非0(grep,沒找到匹配)
if[expression_r_r_r]then表達式結果為真,則返回0,if把0值引向then
iftestexpression_r_r_rthen表達式結果為假,則返回非0,if把非0值引向then

⑶ shell中if語句的問題

如果後面沒有其它的命令可以加上exit
if [ "0" == "0"]; then
echo "yes"
exit
fi
如果還有其它,要改成一個判斷
if [ "0" == "0"]; then
echo "yes"
else
echo "no"
fi

⑷ shell腳本 if判斷條件問題

你既然已經知道這個文件叫什麼就沒有意義了。。。。理論上應該用find命令或者你知道這個目錄在系統中的什麼位置。
比如
ls | grep aaa
a=`echo $?`
b=`ls | grep aaa`
if [ $a -eq 0 ]
then
tar zcvf Name.tar.gz $b
else
echo 'Don't have this file.'
fi

⑸ 求linux shell 中if的寫法

主要是格式問題:
if [[ $jg == false ]]; then
echo -e "\033[41;37m $sj $jg \033[5;m"
elif [[ $jg != false ]]; then
echo -e "\033[42;37m $sj $jg \033[1;m"
fi
注意中間的空格,假如是字元串匹配,最好加上引號。

⑹ shell腳本中 if 判斷時候-s是什麼意思

指的是文件大小非0時為真。

⑺ shell 腳本 if 的用法小問題

1. 執行shell腳本的時候加上 -x ,執行腳本時會把過程列出來!(有利於我這種新手學習)sh -x shell (./shell 也可以執行shell腳本 但是沒有-x參數)2. 傳的值的個數大於 read 定義的接受變數的時候會把多餘的值都給最後一個變數!!3. expr 對整數型變數進行運算 如果運算結果不是整數小數點後面的全部省去 (乘號要用轉意字元'/') .4. 在shell腳本裡面 執行一條輸出的命令(pgrep mysqld)怎麼吧輸出的結果作為值賦給變數?web=$(/usr/bin/pgrep mysqld) #可以用 變數=$(命令) 和 變數=`命令` 來吧命令執行的結果賦給變數
if [ $web = ]
then
/etc/init.d/mysql start
fi

5.查看某個命令所在的位置可以用 whereis /which/type 三個命令來查看6.awk命令的應用作用:分段提取! (一行為單位來進行分段)awk -F [分隔符] '條件 動作' /對象例: awk -F : '$3==0 {print $1}' /etc/passwd例: awk -F : '$1 == root {print $1} ' /etc/passwd# -F : 用:分割passwd每行的內容 ($1 指第一段內容 $2 指第二段內容$n 指第n段內容)# ' 匹配 動作' 單引號裡面寫的是 匹配命令和列印動作 匹配$3==0 第三段等於0 列印{print $1} 列印第一段內容 ($3 == 0 匹配出行 在列印出這些行的第一段內容 )

⑻ 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而使用&& ||。

⑼ shell腳本中: if [ -f /FileA -a -O /FileB ]; then 語句中判斷條件怎麼理解,邏輯關系是什麼

-a是and,左右條件兩者都成立
-o是or,左右條件任意一條成立

⑽ shell腳本的if

_day=`echo `cal $_month $_year`|awk 』{print $NF}』`

這一句嵌套`符號有問題。不信你把這句注釋掉看看是不是就沒問題了。
兩兩匹配的原則是就近匹配,即這句會拆分為下面三段:
`echo `
cal $_month $_year
`|awk 』{print $NF}』`
這顯然不是你預期的。

建議:
1)在需要多層嵌套的情況下,最好不要用``,用它的替代品$()。
2)多層嵌套一定要用``的話,裡面的`要用反斜杠作跳脫處理(寫成\`)。
建議你去看《shell十三問》,搜索一下就能找到,上面專門有寫這個。

兩種修改方法分別為:
1) _day=$(echo $(cal $_month $_year)|awk '{print $NF}')
2) _day=`echo \`cal $_month $_year\`|awk '{print $NF}'`

熱點內容
SQL寫序列 發布:2024-09-20 06:02:29 瀏覽:964
裝緩存下載 發布:2024-09-20 05:42:36 瀏覽:72
gon引擎自動回收腳本 發布:2024-09-20 05:39:39 瀏覽:246
好醫生連鎖店密碼多少 發布:2024-09-20 05:09:38 瀏覽:15
魔獸腳本代理 發布:2024-09-20 05:09:35 瀏覽:99
python登陸網頁 發布:2024-09-20 05:08:39 瀏覽:758
安卓qq飛車如何轉蘋果 發布:2024-09-20 04:54:30 瀏覽:178
存儲過程中in什麼意思 發布:2024-09-20 04:24:20 瀏覽:315
php顯示數據 發布:2024-09-20 03:48:38 瀏覽:501
源碼安裝軟體 發布:2024-09-20 03:44:31 瀏覽:354