bashでアスタリスク記号を使用して文字を繰り返し印刷します。

bashでアスタリスク記号を使用して文字を繰り返し印刷します。
print '*' * 80

このPythonコードスニペットは80個のアスタリスクを印刷します。私はしばしばログファイルの区切り文字として使用します。

演算子オーバーロードを使用してbashスクリプトでこれをどのように実行できますか?

ベストアンサー1

シェル(ksh、、、 )ではzshbash次のことができます。

stars=$(printf '%*s' 80 '')
echo "${stars// /*}"

bash次のことを選択できます。

printf -v stars '%*s' 80 ''
echo "${stars// /*}"

説明:パラメーターを介して指定された長さの文字列を生成するprintf形式文字列を使用します。%*sしたがって、最初のパラメータ(80)は長さを指定し、2番目のパラメータは''効果的に印刷する文字列(空の文字列)を指定しますが、定義された幅にスペースを追加します。printf "%80s" ''可変引数である可能性があることを明確にするために、パラメータ化されたバージョンのlengthを使用していますが、これはとして表すこともできます。

おすすめ記事