
私は古いルータを無差別に代入しようとしていますが、forループは実際にアマチュアスタイルです。埋め込み文字だけを知っている場合は、クールなforループをどのように作成しますか?すでに見つけましたそれページに記載されていますが、私の場合は含まれていません。私は次のことを考えましたが、明らかに動作しません。
for word in $(cat charList)$(cat charlist); do echo ${word}; done
答え1
初期化
ルータを工場出荷時の設定にリセットし、そのようにアクセスしたらどうでしょうか?時間がかかり、数分で返されることがあります。
For ループ
for
ループを使用する必要がある場合:
$ cat charlist
a
b
c
d
e
f
g
この構成は次のとおりです。
$ for i in $(cat charlist); do for j in $(cat charlist); do echo $i$j;done;done
はい
$ for i in $(cat charlist); do for j in $(cat charlist); do \
echo $i$j;done;done | tail -5
gc
gd
ge
gf
gg
| tail -5
完全なリストを確認してください。
支柱の拡張を使用する
Bashに次のように文字セットを生成させることもできます。
$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z
$ echo {1..20}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
はい
$ for i in {a..z}; do for j in {a..z}; do echo $i$j;done;done | tail -5
zv
zw
zx
zy
zz
また、ループをすべて一緒に使用することなく、中かっこ拡張にすべての操作を実行させることもできます。
$ echo {a..z}{a..z}
はい
$ echo {a..z}{a..z} | cut -d" " -f1-10
aa ab ac ad ae af ag ah ai aj
再び削除されました| cut -d" " -f1-10
。これは、最初の10の組み合わせに対する回答の表示目的で出力量を制限することです。
答え2
サポート拡張:連続した文字のみが許可されます。
階層的 for ループ:これはコマンドラインの無駄です。
良い方法があると思います。評価するそして支柱の拡張
$ cat charList
a,b,_,X,5,1,' ',-,')',3
$ eval echo "{$(cat charList)}{$(cat charList)}{$(cat charList)}"
残念ながら、今はbashがありませんが、次のようにします。
$ eval "for word in {$(cat charList)}{$(cat charList)}; do echo '${word}'; done"