當前位置:ag真人国际官网-ag旗舰厅官方网站 » 編程軟體 » shell腳本if

shell腳本if-ag真人国际官网

發布時間: 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}'`

熱點內容
布丁少兒編程 發布:2024-11-19 09:57:11 瀏覽:97
vb資料庫數組 發布:2024-11-19 09:23:40 瀏覽:827
安卓游戲數據保存在哪裡找 發布:2024-11-19 09:22:02 瀏覽:309
解壓出來的文件亂碼 發布:2024-11-19 09:15:40 瀏覽:939
北航ftp是多少 發布:2024-11-19 09:15:32 瀏覽:821
瀏覽保存密碼如何取消 發布:2024-11-19 09:10:17 瀏覽:89
安卓怎麼關簡訊重復提醒 發布:2024-11-19 09:02:00 瀏覽:635
html與php的區別 發布:2024-11-19 09:00:53 瀏覽:193
晚安密碼多少 發布:2024-11-19 09:00:51 瀏覽:945
易語言腳本模塊 發布:2024-11-19 09:00:44 瀏覽:484
网站地图