と入力すると、echo hello
端末は次のように表示されます。
My-Computer:~ user$ echo hello
hello
My-Computer:~ user$
しかし、このような機能がある場合
stringen () { cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-Z-A-z-0-9' | head -c "$1" ; }
こんな感じ
My-Computer:~ user$ stringen 18
^\k6JPWVIUdEiudcWSMy-Computer:~ user$
新しい行に印刷されないことを確認しますか? vs.を使用するprintf
場合も同様です。echo
関数でこのような新しい行を生成するにはどうすればよいですか?私は彼らが;
この問題を修正すると思いましたが、明らかにそうではありませんでした。
たとえば、これは私が欲しいものを返します。
variable=$(stringen 18)
echo $variable
鳴り響くのでしょうか?
ベストアンサー1
、cat
または改行を追加しませtr
んhead
(urandom
動作しますがランダムなので信頼できません)。新しい行を手動で挿入し、関数の末尾にまたはprintf '\n'
を追加する必要がありますecho
。
しかし、一部のシェルでは、zsh
このような状況を防ぐためにこれを追加します。