文字列と数値の2つのパラメータを使用するスクリプトを作成したいと思います。このスクリプトは、アスタリスクで丸められた文字列をn回印刷します。だから前の場合。script "Hello World!" 3
以下を印刷します。
**************
*Hello World!*
*Hello World!*
*Hello World!*
**************
どうすればいいですか?
ベストアンサー1
*
文字列の長さを入力の長さと同じにするために使用できますsed
。非常に簡単に繰り返すこともできます。各ラインの出力は次のようになります。
*$stars*
*$input*
...repeated...
*$stars*
*
したがって、必要な文字列を配置する単純な「出力」関数を作成できます。
#!/bin/bash
string=$1
count=$2
stars=$(echo "$string" | sed 's/./*/g')
output() { printf "*%s*\n" "$1"; }
output "$stars"
for ((a=0;a<$count;a++))
{
output "$string"
}
output "$stars"
例えば
./x "Hello world!" 3
**************
*Hello world!*
*Hello world!*
*Hello world!*
**************