可変長英数字文字列を取得するために、Bashはこの入れ子になったshufコマンドを使用しています。
shuf -erz -n $(shuf -e -n 1 {0..5}) {A..Z} {a..z} {0..9}
現在の出力:
これにより、シェルプロンプトの前に新しい行に英数字文字列が出力されます。
MyPrompt:$ shuf -erz -n $(shuf -e -n 1 {0..5}) {A..Z} {a..z} {0..9}
OcxjrMyPrompt:$
希望の出力:
自分のラインに出力したい。
MyPrompt:$ shuf -erz -n $(shuf -e -n 1 {0..5}) {A..Z} {a..z} {0..9}
Ocxjr
MyPrompt:$
希望の出力を得るためにshufコマンドを変更するか、shufコマンドの後に別の標準のBashコマンドを追加する方法はありますか?他の方法も歓迎しますが、変更を簡単に追加/削除できるようにしたいと思います。
以前の回答を検索してみましたが、初めてBashに触れて、有用な結果を生成するのに適した用語が見つからないようです。同様に、私は自分の方法(主にエコーとパイプを使用)を試しましたが、成功しませんでした。
答え1
; echo
コマンドに追加すると、この問題を解決できます。
答え2
出力を別々の行に表示するには、次のようにしますpaste
。
paste <(shuf -erz -n $(shuf -e -n 1 {0..5}) {A..Z} {a..z} {0..9})