Ubuntu WSLで次のエイリアスを作成しようとしています。
alias windocs='cd /mnt/c/Users/Firstname L'astname/Documents/'
残念ながら、私のユーザー名は名前城、スペースとアポストロフィが含まれています。
バックスラッシュを使ってみました。
alias windocs='cd /mnt/c/Users/Firstname\ L\'astname/Documents/'
しかし、bashはまだアポストロフィを文字列の終わりとして解釈し、次のエラーを引き起こします。
-bash: .bash_aliases: line 11: unexpected EOF while looking for matching `''
-bash: .bash_aliases: line 12: syntax error: unexpected end of file
また、ユーザー名を二重引用符で囲んでみました。
alias windocs='cd /mnt/c/Users/"Firstname L'astname"/Documents/'
同じエラーが発生します。
このエイリアスが機能するようにするにはどうすればよいですか?毎回ドキュメントフォルダまでCDを入れるのは痛いです。
ベストアンサー1
一重引用符で囲まれた文字列内の一重引用符はエスケープできませんが、幸いにもエイリアス定義の周囲に二重引用符を使用してから、ディレクトリ名の周りに二重引用符を使用できます(エスケープ処理)。
alias windocs="cd \"/mnt/c/Users/Firstname L'astname/Documents/\""
あるいは、このディレクトリをLinuxホームディレクトリにシンボリックリンクすることもできます。
ln -s "/mnt/c/Users/Firstname L'astname/Documents/" ~/docs
次に、単にcd docs
(またはcd ~/docs
ホームディレクトリにない場合)、その場所に移動します。