bashシェルプロンプトで機能する必要があるネストされたforループを作成したいと思います。単一行コマンドでネストされたforループ。
例えば、
for i in a b; do echo $i; done
a
b
上記の例では、forループは1行のコマンド権で実行されます。このように、シェルプロンプトでネストされたforループを試しました。動いていない。これを行う方法。これについて私を更新してください。
bashシェルプロンプトで機能する必要があるネストされたforループを作成したいと思います。単一行コマンドでネストされたforループ。
例えば、
for i in a b; do echo $i; done
a
b
上記の例では、forループは1行のコマンド権で実行されます。このように、シェルプロンプトでネストされたforループを試しました。動いていない。これを行う方法。これについて私を更新してください。
質問にはネストされたループは含まれず、単一のループのみが含まれます。ただし、このネストされたバージョンも機能します。
# for i in c d; do for j in a b; do echo $i $j; done; done
c a
c b
d a
d b
1行(セミコロンが必要):
for i in 0 1 2 3 4 5 6 7 8 9; do for j in 0 1 2 3 4 5 6 7 8 9; do echo "$i$j"; done; done
読みやすさのためにフォーマットされています(セミコロンは必要ありません):
for i in 0 1 2 3 4 5 6 7 8 9
do
for j in 0 1 2 3 4 5 6 7 8 9
do
echo "$i$j"
done
done
シェルコードを複数行に配置する方法については、さまざまな見方があります。do
次の操作を(ここで2行保存)と同じ行に配置しない限り、これは私が通常使用するものです。
#!/bin/bash
# loop*figures.bash
for i in 1 2 3 4 5 # First loop.
do
for j in $(seq 1 $i)
do
echo -n "*"
done
echo
done
echo
# outputs
# *
# **
# ***
# ****
# *****
for i in 5 4 3 2 1 # First loop.
do
for j in $(seq -$i -1)
do
echo -n "*"
done
echo
done
# outputs
# *****
# ****
# ***
# **
# *
for i in 1 2 3 4 5 # First loop.
do
for k in $(seq -5 -$i)
do
echo -n ' '
done
for j in $(seq 1 $i)
do
echo -n "* "
done
echo
done
echo
# outputs
# *
# * *
# * * *
# * * * *
# * * * * *
for i in 1 2 3 4 5 # First loop.
do
for j in $(seq -5 -$i)
do
echo -n "* "
done
echo
for k in $(seq 1 $i)
do
echo -n ' '
done
done
echo
# outputs
# * * * * *
# * * * *
# * * *
# * *
# *
exit 0