當前位置:首頁 » 操作系統 » linuxshellfor循環語句

linuxshellfor循環語句

發布時間: 2022-12-30 09:26:55

1. linux的shell腳本for循環怎麼調用位置變數

1、利用$@, $#, $*參數或shift移位參數進行循環
2、例1
#!/bin/sh
while [ $# -gt 0 ]; do
echo $1
shift;
done
3、例2
#!/bin/sh
until (($#==0)); do
echo $1
shift;
done
4、例3
#!/bin/sh
for x in $*;do
echo $x
done
5、例4
#!/bin/sh
for x in $@;do
echo $x
done

2. linux shell腳本下使用for循環 輸出等邊三角形 過任務的 求大神指點

#!/bin/bash
read -p "please input the longs:" long
for((i=1;i<=$long;i++))
do
for((j=$long;j>i;j--))
do
echo -n " "
done
for m in `seq 1 $i`
do
echo -n "+"
done
for((n=1;n<i;n++))
do
echo -n "+"
done
echo ""
done

long為你自己輸入的邊長,如果有規定長度,把$long改成數就行

3. linux shell for循環怎麼寫

for I in list; do
statement
done

I 是變數
list是一個表格 如你可以使用一串用括弧括起來的數,
也可以使用 命令替換 `seq 1 15` 這個命令忘記了,, 有可能是 `seq 15`
[1..15]
表示1-15的數,,

statement 即要執行的語句

for I in [1..10]; do
echo $I
done
這段for循環的含義就是顯示從1~10的所有數字

4. linux shell for 如何循環兩個或者多個變數

標準的多個循環嵌套啊,各類程序語言包括shell都這樣的。

5. Linux shell 問題 求解

這是表示foo分別取值三次,並且分別列印出 三個值來,具體其他知識拓展如下:
for 命令
重復執行一系列命令在編程中很常見。通常你需要重復一組命令直至達到某個特定條件,比如處理某個目錄下的所有文件、系統上的所有用戶或是某個文本文件中的所有行。
bash shell提供了 for 命令,允許你創建一個遍歷一系列值的循環。每次迭代都使用其中一個值來執行已定義好的一組命令。下面是bash shell中 for 命令的基本格式。
for var in list
do
commands
done
在 list 參數中,你需要提供迭代中要用到的一系列值。可以通過幾種不同的方法指定列表中的值。
在每次迭代中,變數 var 會包含列表中的當前值。第一次迭代會使用列表中的第一個值,第二次迭代使用第二個值,以此類推,直到列表中的所有值都過一遍。在 do 和 done 語句之間輸入的命令可以是一條或多條標準的bash shell命令。在這些命令中,$var 變數包含著這次迭代對應的當前列表項中的值。
也可以將 do 語句和 for 語句放在同一行,但必須用分號將其同列表中的值分開: for var in list; do 。
1.1.讀取列表中的值
for 命令最基本的用法就是遍歷 for 命令自身所定義的一系列值。
[ceshi@jerry jghml]$ cat test1.sh
#!/bin/bash
# basic for command
for test in Alabama Alaska Arizona Arknsas California Colorado
do
echo The next state is $test
done

6. 關於linux shell 循環語句的問題

#!/bin/sh
read -p "Input an integer: " num
len=`expr length $num` #計算整數的長度
startPos=1
sum=0
FirstLetter=`expr substr $num 1 1`
[ "${FirstLetter}" = "-" ] && startPos=2 #負數的話從第二位開始輸出
while [ $startPos -le $len ]
do
digit=`expr substr $num $startPos 1` #分別取得每一位
echo $digit
let sum+=$digit #累加計算
let startPos+=1
done
echo "sum=$sum"
exit 0

# ===================================
# 上面的推薦答案對於負數有問題,並且會列印很多sum=xx(應該是循環結束才列印的)。
# 為了通用性,我基本都使用符合POSIX標準的語法,沒有使用諸如 ${#num}, ${x:pos:lenght}等bash中的特有語法。

7. Linux Shell:Shell循環語句

摘要: Linux , Shell

Shell中常用循環有 for , while

for循環只能用於 固定次數 的循環,因此不能無限循環和用於一些在後台守護進程一直運行的程序,語法語句如下

也可以寫成一行,用 ; 分隔

取值列表內元素以空格隔開,如果元素帶有空格則用引號包裹起來,例子如下

輸出如下,可見循環到最後退出循環,引用變數依舊是最後一個取值列表元素

一行的寫法

Shell的for循環也可以採用C語言的寫法,注意是 雙括弧 ,用 分號; 間隔

一個簡單例子

while循環語句結合條件測試使用,語法如下

舉一個例子

在循環中使用條件測試實現復雜的邏輯,例如

也可以使用&&,||一行完成,省去if,fi

Shell的continue,break語句和Python一樣,例子如下
break語句下輸出4

continue語句下輸出4 6 7 8 9 10

常見結合使用的循環體有 序列 , 數組 , 命令行傳參 , 文件目錄和文件

序列通過 seq 命令或者 {begin..end..step} 符號進行定義:

結合for循環使用案例

在Shell中使用小括弧 () 定義數組,數組遍歷使用 [@] 符號,防止元素有空格用雙引號包起來,,例子如下

命令行傳參遍歷使用固定符號 $@ ,如果參數中有空格,用雙引號括起來,例子如下

文件遍歷使用 ls 命令,可以指定目錄,以及通配符匹配

一個雙重循環實現,注意 expr表達式中乘號要加轉移符

(2)將某目錄下大小大於閾值的文件移動到另一個文件
遍歷循環一個目錄,使用awk語法獲得文件大小,將100m以上的文件移動到另一個文件夾

(2)指定開始日期和結束日期完成一個跑批任務
指定一個開始時間和結束時間,while從開始日期一直自增到結束日期循環結束,通過 date -d 񟭕-01-01 1day' +%Y-%m-%d 自增一天

8. linux中shell編程for循環問題

我試了一下是能行的。

你寫好了過後在終端執行有兩種方式:

#sh test.sh

or

#./test.sh //需要修改許可權,讓其能夠執行,chmod 777 test.sh

9. Linux Shell awk中怎麼調用數組和for循環

echo|awk'
{
array[1]=1
array[2]=2
array[3]=3
array[4]=4
array[5]=5

for(i=1;i<=5;++i){
printarray[i]
}
}'

10. linux遠程登陸的shell腳本for循環無結果

我比較認同「ssh之後是遠程主機執行的命令
本地變數不起作用」這種說法
你的腳本之所以$aaa能回顯,是因為在本地定義了這個變數,但本地沒有定義$i這個變數,所以無法顯示變數值,把aaa="u1 u2"一塊塞<<ff.......ff這個內聯重定向數據中去。再試試看。

熱點內容
html5整站源碼 發布:2025-07-08 00:36:01 瀏覽:943
sql創建鏈接 發布:2025-07-08 00:08:38 瀏覽:398
ftp上傳中斷 發布:2025-07-08 00:08:37 瀏覽:641
linux雲計算課程 發布:2025-07-08 00:07:23 瀏覽:23
安卓網易雲怎麼發布歌曲 發布:2025-07-07 23:42:29 瀏覽:626
安卓內存讀取腳本 發布:2025-07-07 23:42:19 瀏覽:871
python27漢化 發布:2025-07-07 23:42:18 瀏覽:721
源碼鎖屏 發布:2025-07-07 23:26:52 瀏覽:944
手機版編程軟體 發布:2025-07-07 22:57:22 瀏覽:122
linux下執行sh腳本 發布:2025-07-07 22:49:00 瀏覽:128