私はWindowsとLinuxを大量に使用し、時々cd\
Windowsのマッスルメモリで入力することがあるので、エイリアスを追加してみましたが、うまくいきませんalias cd\='cd /'
でした(おそらく\
Linuxではエスケープ文字だからです)。エイリアスまたは関数を使用してcd\
=>を入力する方法はありますかcd /
?
答え1
バックスラッシュは次の文字をエスケープするために使用され、行の末尾から連続する行を開始するので難しいです。したがって、という関数を作成することができますが、それをcd\
実行する必要があります。エイリアスの場合、名前の一部をエスケープまたは引用すると、エイリアスの拡張が防止されます。cd\\
'cd\'
とにかく、Bashではこれらのエイリアスや関数を作成することはできません。
$ alias cd\\='echo foo'
bash: alias: `cd\': invalid alias name
$ cd\\ () { echo foo; }
bash: `cd\\': not a valid identifier
しかし、Zshでは使用できますが、二重バックスラッシュが必要です...
% cd\\ () { echo foo; }
% cd\\
foo
実際にエイリアスを許可しているように見えますが、使用することはできません。
% alias foo\\='echo bar'
% foo\\
zsh: command not found: foo\
% 'foo\'
zsh: command not found: foo\
Bashは名前にバックスラッシュを含む外部コマンドを実行できますがcd
。