Saya mencoba bermigrasi dari bash
ke fish
.
Untuk apa fish
analog itu shopt
? Saya mencoba meniru garis ini dari .bashrc
:
shopt -s dotglob # for mv * see hidden files
command-line
fish
netimen
sumber
sumber
{,.}*
secara manual.Jawaban:
Ini disengaja. Sebagian besar waktu pengguna tidak ingin secara tidak sengaja mencocokkan file tersembunyi yang tidak terlihat untuk
ls
(tanpa-a
). Biasanya, file disembunyikan karena suatu alasan, bukan hanya untuk menjebak Anda. Juga, jika*
akan cocok dengan file yang tersembunyi, mencocokkan file yang tidak tersembunyi akan terlalu rumit.Namun, tidak seperti bash
shopt -s dotglob
tidak diperlukan untuk mencocokkan file yang tersembunyi. Dalam bash,shopt -s dotglob
adalah satu - satunya cara untuk mencocokkan setiap file dalam direktori tanpa sengaja mencocokkan.
atau..
. Namun, cangkang ikan tidak pernah bisa cocok.
atau..
dengan gumpalan, oleh karena itu itu bukan masalah (jika Anda benar-benar perlu mencocokkan.
atau..
karena alasan konyol, katakan saja secara eksplisit). Selain itu, ikan mencoba menghindari memiliki opsi oleh desain, jadi tidak punyadotglob
.Untuk mencocokkan setiap file dalam direktori, Anda mungkin ingin menggunakan ekspansi braket untuk mendeteksi file yang dimulai dengan titik, dan yang tidak.
{.,}
adalah ekspansi braket yang cocok dengan titik yang mungkin ada atau tidak ada. Bintang setelah itu cocok dengan segalanya. Karena gumpalan pada ikan tidak bisa cocok.
atau..
, kode berikut cocok dengan semuanya kecuali untuk dua direktori (yang sayangnya cocok, jika Anda menggunakan kode di bawah ini)sumber