対話型ログインはどうすればよいですか?

対話型ログインはどうすればよいですか?

対話型ログインでスクリプトを作成する際に問題があります。作成しましたが、ログインを要求せずにスクリプトを実行すると自動的にログインします。

次の出力が必要です。

please enter ftp server :
username :
password :

答え1

使用read(参照help read) - 次のように実行できます。

read -p "please enter ftp server : " SERVER
read -p "username : " USERNAM
IFS= read -s -p "password :" USERPSS

このようにして、変数とそれぞれからサーバー、ユーザー名、および$SERVERパスワード$USERNAMを収集します$USERPSS。 (-sパスワードはエコーされず、先頭IFS=にスペースを含めることができます。)

メッセージが表示されたときにパスワードが表示されなくても、次のことができることに注意してください。してはいけない$USERPSSこの変数はftp "${USERNAM}:${USERPSS}@{SERVER}"このコンピュータで実行されている他のユーザーに表示されるため、同様のコマンドで直接使用してください。psプログラムへの入力として直接パスワードを渡すか(より良い方法)、プログラムにパスワードを要求することをお勧めします。

関連情報