Saya menemukan perilaku zsh saat menggunakan FreeBSD:
% dd if=/dev/zero bs=1M count=1 of=~/test2
dd: failed to open '~/test2': No such file or directory
Ini benar-benar membingungkan saya karena hal yang sama berfungsi dengan baik di bash.
Saya dapat touch
file menggunakan tilde di zsh, dan kemudian ls
:
% touch ~/test2
% ls ~/test2
/home/christoph/test2
Pada awalnya, saya berasumsi bahwa zsh tidak menyadari bahwa ada jalan setelahnya of=
sehingga tidak berkembang ~
. Tapi nama file pelengkapan otomatis berfungsi dengan baik. Bahkan, jika menggunakan nama file yang sudah ada, mulailah jalurnya ~
, dan kemudian tekan Tab di beberapa titik, jalur tersebut akan diperluas dalam perintah yang saya ketikkan.
Mengapa zsh lulus ~/test2
untuk dd
, tidak /home/christoph/test2
?
zsh berperilaku sama di Linux. Bahkan, saya menjalankan perintah-perintah ini di atas dan menyalin output mereka di mesin Linux.
$HOME
bukan~
.