2
Bashスクリプトとパスワードの特殊文字のエスケープ
私はすでにここで尋ねられた多くの質問を読んでいますが、どういうわけか私のために何も働いていません。リモートマシンのデータベースをダンプするパスワードを送信する必要があるbashスクリプトがあるので、次のようにします。 !/bin/sh /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p#8111*@uu( my_database | gzip -c > my_database.sql.gz さて、このパスワードにはあらゆる種類の特殊文字が含まれています。 #8111*@uu( 上記のコマンドを単一引用符で囲んだパスワードを使用して直接実行すると、次のように機能します。 /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p'#8111*@uu(' my_database | gzip -c > my_database.sql.gz 単一引用符がないと、最後の '('でエラーが発生します。 私もこのようにパスワードの文字をエスケープしようとしました: !/bin/sh /usr/bin/ssh -p 91899 user@remoteHost mysqldump -u db_user -p'\#8111\*\@uu(' my_database | gzip -c > …