SSHを介して渡された文字列の '文字を解釈する方法

SSHを介して渡された文字列の '文字を解釈する方法

BASHとLinuxを初めて使用し、迅速なヘルプが必要です。私はコマンドラインでユーザーにユーザー名とパスワードを要求し、後でその情報をSSH経由でリモートサーバーに渡すための高速bashスクリプトを作成しました。問題は、1人のユーザーのパスワードに文字が含まれており、SSHを使用するとその値がEOFエラーになることです。以下は、ユーザー名とパスワードをキャプチャするコードです。

echo "Please type in username:"
read username
read -s -p "Enter Password: " password

以下は、リモートサーバーに情報を送信する場所です。これを一連のサーバーに送信する必要があることに注意してください。

echo "Adding username and password..."  
ssh root@${dssAssocArray[$key]} "echo username=$username > /etc/smbcredentials"
ssh root@${dssAssocArray[$key]} "echo password=$password >> /etc/smbcredentials"

'(正しい用語の場合)またはエスケープを引き起こす可能性がある他の特殊文字を引用解除する簡単な方法はありますか?

ベストアンサー1

ただし:

echo "Adding username and password..."  
ssh "root@${dssAssocArray[$key]}" 'cat > /etc/smbcredentials' << EOF
username=$username
password=$password
EOF

おすすめ記事