FTP ドライブをマウントしたいのですが、FTP パスワードに「?!」が含まれています。
次のコマンドを入力します。
curlftpfs myaccount:mypassword?!@thefptserver.com
しかし、それは私に「bash: !@theftpsever.com: event not found」を与えます
これらの文字をエスケープするにはどうすればよいですか?
一重引用符で囲みます。
curlftpfs 'myaccount:mypassword?!@thefptserver.com'
おわかりのように、エクスクラメーション マークは で特別な意味を持ちますbash
:!@thefptserver.com
で始まる最新のコマンドを表し@thefptserver.com
ます。
@theftpsever.com
Bash は、履歴でから始まる最新のコマンドを探しています。これは「履歴拡張」と呼ばれ、非常に便利です。この場合、もちろんそうではありません。
バックスラッシュを使用してエスケープできますが!
、単一引用符を使用してシェルがこれを実行しようとするのを止めるのがより一般的です。
curlftpfs 'myaccount:mypassword?!@thefptserver.com'