マシンが起動したときに一部のスクリプトを実行するliveUSBを設定しています。 USBのデフォルトOSはfinnix 110で、そのディレクトリに起動スクリプトを設定しています/indep/rc
。これはほとんどの場合機能しますが、ユーザー入力を取得しようとするたびに、スクリプトは入力を待たなければならない部分をスキップします。
#!/bin/bash
echo -n "[Select] /dev/:"
read sda
clear
echo /dev/$sda selected
開始されると、read
コマンドはユーザー入力を待たずにsda
ユーザーに入力プロンプトを提供するのではなく、空の変数で続行されます。
実行すると、./cdrom/finnix/arch/indep/rc/test.sh
スクリプトが正しく実行され、ユーザー入力を待ちます。起動スクリプトで実行するとき、なぜこの部分をスキップするのかわかりません。
このスクリプトを実行する方法はありますか?後ろにコマンドを使用して手動で行ったように、起動は完了しますか./path/to/test.sh
?または、/rc/
起動時にディレクトリで実行中にユーザー入力を収集する他の方法はありますか?私はこの問題を解決するために数日間さまざまな記事を使用してきましたが、それらのどれも正しく動作しませんでした。