入力を受け入れる単純なwhileループがあります。
#!/bin/bash
while true; do
read -rep $'\n '"$USER"'> ' userInput
echo "$userInput"
done
例:
./input.sh
username> command1
command1
username> command2
command2
コマンド履歴を持つことは可能ですか?キーボードを押し上げて、以前に実行されたコマンドを(whileループを離れることなく)表示できるようにするには?
小さなReadlineラッパーを使用できますrlwrap
。これは、それ自体を実装しないユーティリティにコマンド履歴を提供する、すてきな小さなツールです。
rlwrap
スクリプト自体で使用します。
rlwrap -a ./script.sh
これにより、呼び出された履歴ファイルが保存さ~/.script.sh_history
れ、現在のセッションだけでなく、将来のセッションでもそのファイルを使用して、ステップスルーできる種類の履歴が提供されます。
のマニュアルを参照してくださいrlwrap
。
rlwrap
ほとんどのUnicesでパッケージとして一般的に利用可能ですが、GitHubリポジトリから入手することもできます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加