入力を受け入れる単純なwhileループがあります。
#!/bin/bash
while true; do
read -rep $'\n '"$USER"'> ' userInput
echo "$userInput"
done
例:
./input.sh
username> command1
command1
username> command2
command2
コマンド履歴を持つことはできますか?それでは、キーボードを押して以前に実行されたコマンドを表示できます(whileループを出ることなく)。
ベストアンサー1
小さなReadlineラッパーを使用できますrlwrap
。これは、独自に実装していないユーティリティのコマンド履歴を提供するきちんとした小さなツールです。
rlwrap
スクリプト自体で使用できます。
rlwrap -a ./script.sh
これにより、呼び出された履歴ファイルが保存され、~/.script.sh_history
そのファイルを現在のセッションだけでなく将来のセッションでも使用して段階的に実行できる履歴が提供されます。
マニュアルを参照してくださいrlwrap
。
rlwrap
通常、ほとんどのUnicesはパッケージとして提供されますが、GitHubリポジトリ。