パスワードを手動で入力する


0

スクリプトは機能しています:

#!/bin/sh


echo "Enter Server IP Address"
read IP
echo 'mypassword' | sudo -S ssh $IP </home/myscript.sh 

IPアドレスを手動で入力し、次にパスワードを入力できるように変更するにはどうすればよいですか?


IPアドレスを手動で入力し、次にパスワードを入力できるように変更するにはどうすればよいですか?
テスター787

回答:


1

readコマンドは、ユーザに入力を促し、この入力は変数に格納することができます。これは、スクリプトの3行目にありますread IP。したがって、別の変数を取り込むには、別の変数に別の変数が必要readです。

きれいな提案:

#!/bin/sh
read -p "Enter Server IP Address: " IP
read -s -p "Enter your Password: " PASSWORD
echo "$PASSWORD" | sudo -S ssh $IP </home/myscript.sh

-preadコマンドのinはプロンプトを表し、入力を受け入れる前にメッセージを出力できます。これ-sにより、ユーザーの入力が表示されなくなり、肩越しに見ている人が入力内容を見ることができなくなります。


1

ユーザーにパスワードの入力を求めることができます:

#!/bin/sh 

printf "Enter Server IP Address: "
read IP

printf "Enter Server Password: "
read -s PASSWORD

echo "$PASSWORD" | sudo -S ssh $IP

注:の-sオプションはread、ユーザー入力をエコーし​​ません。したがって、他の人が端末で読み込めることを心配することなく、パスワードを入力できます。

または、コマンドライン引数を使用して入力します。

#!/bin/sh

usage() {
    echo "$0 [IP] [PASSWORD]"
    exit 1
}

if [ $# -eq 2 ]; then
    IP=$1
    PASSWORD=$2
else
    usage
fi

echo "$PASSWORD" | sudo -S ssh $IP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.