私は退屈なので、bash を使用してテキスト ベースの冒険のスクリプトを作成することにしました。基本的に、劇的なストーリーテリングのために、特定のケースでタイプライターをアニメーション化することになっています. 次のようなファイルでこれを手動で行うことができます。
sleep 0.1
echo -n "h"
sleep 0.1
echo -n "e"
sleep 0.1
echo -n "l"
sleep 0.1
echo -n "l"
sleep 0.1
echo -n "o"
ご想像のとおり、それはひどく退屈です。代わりに、文字列 (またはファイル) から一度に 1 文字ずつ文字を取り出し、それぞれの文字にスリープ コマンドを適用します。
これまでのところ、ファイルから読み取る次のものがあります。IFS= はスペースを保持できますが、他のタイプの空白 (改行など) は保持できません。
IFS=
while read -n1 achar
do
echo $achar
done < aFile
これを使用してすべての空白を取得する方法はありますか? おまけの質問として、別のファイルから読み取る必要がないように、これをユーザー定義スクリプトに適用する方法を教えてください。たとえば、「hello」という文字列があり、それを関数に渡すだけで、bash ターミナルでファイルを実行するたびにタイプライターとしてアニメーション化できます。
どんな助けでも大歓迎です。ありがとう!