shell中for迴圈的物件如何寫

2021-10-14 04:10:12 字數 3441 閱讀 5125

目錄

1、數字迴圈物件

(1)常量範圍

(2)含有變數的範圍

2、字串迴圈物件

(1)常量字串

(2)多個字串

(3)$*和$@區別

(4)路徑迴圈

總結4種方式:表達迴圈1到10

雙括號: ((a=1;a<=10;a++))    遇到了awk巢狀的時候就是單括號 awk 'begin'

大括號:

seq反引號: `seq 1 10`

seq變數號: $(seq 1 10)

#!/bin/bash

for i in

do echo -n $i

done

echo -e

for ((i=1;i<11;i++))

do echo -n $i

done

echo -e

for i in `seq 1 10`

do echo -n $i

done

echo -e

for i in $(seq 1 10)

do echo -n $i

done

echo -e

總結3種方式:表達迴圈1到10

雙括號:((a=1;a<=$w;a++))

seq反引號:`seq 1 $w`

seq變數號:$(seq 1 $w)

#!/bin/bash

w=10

for ((a=1;a<=$w;a++))

do echo -n $a

done

echo -e

for c in `seq 1 $w`

do echo -n $c

done

echo -e

for c in $(seq 1 $w)

do echo -n $c

done

echo -e

#錯誤的使用{}大括號目前不知道雜用,一下是錯誤的使用

for b in

do echo -n $b

done

echo -e

for d in

do echo -n $d

done

echo -e

for b1 in ``

do echo -n $b1

done

echo -e

for b2 in $()

do echo -n $b2

done

總結:引號+空格切割的,引號大於空格

#!/bin/bash

for i in "data0 data1 data data2";

doecho $i is get

done

for y in f1 f2 f3

doecho $y is get

done

for z in "f1" "f2" "f3"

doecho $z is get

done

總結:雙引號加算整體,不加空格分隔

#!/bin/bash

#不加雙引號怎麼都是用空格分隔

list="data0 data data2"

for y in $list

do echo $y is get

done

echo "******************************************"

for x in $

do echo $x is get

done

echo "******************************************"

for a in $

do echo $a is get

done

echo "******************************************"

#加了雙引號怎麼都算整體

for y in "$list"

do echo $y is get

done

echo "******************************************"

for b in "$"

do echo $b is get

done

echo "******************************************"

for i in "$"

do

var1="hello"

var2="world"

var3="jintian"

for z in $var1 $var2 $var3

doecho $z is get

done

區別:雙引號加不加 

$@加不加雙引號沒區別

$*加雙引號就是把所有入參當做整體

範圍:指令碼以外獲取的變數

#!/bin/bash

echo "------------------不穿衣服一樣------------------------"

echo $*

echo $@

for i in $*

do echo $i

done

for y in $@

do echo $y

done

echo "------------------穿衣服不一樣------------------------"

如何獲取路徑如下內容

#!/bin/bash

for file in /home/hanfang1/*;

doecho $file is file path \! ;

done

for file in $(ls *.sh)

do echo $file

done

for file in `ls *.sh`

do echo $file

done

Shell中的迴圈

工作中,我們經常會有重複進行某乙個動作的需求。有的需求是知道重複某個操作多少次,有的是不知道需要重複多少次。所以我們需要根據不同的需求來判斷到底需要使用哪種迴圈控制語句,主要包含 for迴圈,while迴圈,until迴圈。以下一次進行說明。一.until迴圈 until迴圈主要寫法如下,說明 當c...

Shell中的迴圈

for 變數名 in 列表 do 命令1 命令2done當變數值在列表裡,for迴圈即執行依次所有命令,使用變數名訪問列表中取值。命令可為任何有效的shell命令和語句。變數名為任意單詞。in 列表 用法是可選擇,如果不用它,for迴圈使用命令列的位置引數。in 列表 可以包含替換 字串和檔名 bi...

shell中的迴圈

例如 for i 1 i 10 i do echo expr i 4 done 將1到10,依次乘以4,然後列印出來。這裡順便提一下,shell裡面表示式的計算,可以有其他形式 for i 1 i 10 i do echo i 4 done for i 1 i 10 i do echo i 4 do...