bashで指定回ループする
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[パソコン汎用]]
[[bash>Shell]]
#contents
こんな感じで記述するのよ。
* タイプ1 [#hae710f8]
for i in {1..10};do echo $i;done
これはわかりやすいわね。
* タイプ2 [#i039de74]
for i in `seq 1 10 `;do echo $i;done
seqを使う方法ね。私はこっちで覚えてたかな?
* 引数でループする。 [#u8078776]
** test990.sh [#kc33d6fb]
#!/bin/sh
for i in "$@";do
echo $i
done
** 実行例 [#m18d0a21]
$ sh ~/bin/test99.sh a b c d e f g "OPR EI"
a
b
c
d
e
f
g
OPR EI
$
* ディレクトリの中を配列に取り込んでループ [#n4663b2b]
** コード [#z820a454]
#!/bin/sh
list=(`ls|xargs`)
echo "COUNT=${#list[@]}"
for x in ${list[@]};do
echo ${x}
done
** 実行結果 [#hf3778da]
$ sh ~/bin/test97.sh
COUNT=8
20240601_監視端末でWindows
Update不可の件の調査.7z
202407_WindwsUpdate不可.txt
20240800_Outlook更新
oldTmp
フィアッセ・クリステラ.txt
test4
tmp
$
* 逆転例 [#j6668785]
ちなみに逆もできるのよ。知ってた?
for i in {10..1};do echo $i;done
seqを使う方法は知らないわ。誰か教えてくださる?~
一応、手元の環境ではこれで動いたけど、正しいのかな?
for i in `seq 10 -1 1`;do echo $i;done
終了行:
[[パソコン汎用]]
[[bash>Shell]]
#contents
こんな感じで記述するのよ。
* タイプ1 [#hae710f8]
for i in {1..10};do echo $i;done
これはわかりやすいわね。
* タイプ2 [#i039de74]
for i in `seq 1 10 `;do echo $i;done
seqを使う方法ね。私はこっちで覚えてたかな?
* 引数でループする。 [#u8078776]
** test990.sh [#kc33d6fb]
#!/bin/sh
for i in "$@";do
echo $i
done
** 実行例 [#m18d0a21]
$ sh ~/bin/test99.sh a b c d e f g "OPR EI"
a
b
c
d
e
f
g
OPR EI
$
* ディレクトリの中を配列に取り込んでループ [#n4663b2b]
** コード [#z820a454]
#!/bin/sh
list=(`ls|xargs`)
echo "COUNT=${#list[@]}"
for x in ${list[@]};do
echo ${x}
done
** 実行結果 [#hf3778da]
$ sh ~/bin/test97.sh
COUNT=8
20240601_監視端末でWindows
Update不可の件の調査.7z
202407_WindwsUpdate不可.txt
20240800_Outlook更新
oldTmp
フィアッセ・クリステラ.txt
test4
tmp
$
* 逆転例 [#j6668785]
ちなみに逆もできるのよ。知ってた?
for i in {10..1};do echo $i;done
seqを使う方法は知らないわ。誰か教えてくださる?~
一応、手元の環境ではこれで動いたけど、正しいのかな?
for i in `seq 10 -1 1`;do echo $i;done
ページ名: