Ben göç çalışıyorum bash
için fish
.
Nedir fish
'ın analog için shopt
? Bu satırı benim taklit etmeye çalışıyorum .bashrc
:
shopt -s dotglob # for mv * see hidden files
Ben göç çalışıyorum bash
için fish
.
Nedir fish
'ın analog için shopt
? Bu satırı benim taklit etmeye çalışıyorum .bashrc
:
shopt -s dotglob # for mv * see hidden files
Yanıtlar:
Bu kasıtlı. Çoğu zaman kullanıcılar yanlışlıkla ls
( görünmez -a
) görünmeyen gizli dosyalarla eşleşmek istemezler . Genellikle, dosyalar sadece sizi trol etmek için değil, bir nedenden dolayı gizlenir. Ayrıca, *
gizli dosyalarla eşleşirse, gizli olmayan dosyaları eşleştirmek çok zor olur.
Ancak, shopt -s dotglob
gizli dosyaların eşleşmesi için bash'ın aksine gerekli değildir. Bash, shopt -s dotglob
dizindeki her dosyayı yanlışlıkla .
veya eşleştirmeden eşleştirmenin tek yoludur ..
. Bununla birlikte, balık kabuğu asla eşleşemez .
veya ..
globlarla eşleşemez , bu nedenle bu bir sorun değildir (ciddi bir şekilde eşleşmeniz gerekiyorsa .
veya ..
aptalca bir sebeple, bunları açıkça söyleyin). Ayrıca, balık tasarım gereği seçeneklerden kaçınmaya çalışır, bu yüzden sahip değildir dotglob
.
Dizindeki her bir dosyayla eşleşmek için, noktalarla başlayan ve olmayan dosyaları tespit etmek için köşeli ayraç genişletmesini kullanmak isteyebilirsiniz. {.,}
, var olabilecek veya olmayabilecek noktaya uyan köşeli ayraç genişletmesidir. Bundan sonraki yıldız her şeye uyuyor. Balıktaki küreler eşleşemeyeceği için .
veya ..
aşağıdaki kod, bu iki dizin dışındaki her şeyle eşleşir (aşağıdaki kodu kullanırsanız bash ne yazık ki eşleşir)
cat {.,}*
{,.}*
elle kürek çekmeniz gerekecek .