Estoy tratando de migrar de bash
a fish
.
¿Cuál es el fish
análogo de shopt
? Estoy tratando de imitar esta línea de mi .bashrc
:
shopt -s dotglob # for mv * see hidden files
Estoy tratando de migrar de bash
a fish
.
¿Cuál es el fish
análogo de shopt
? Estoy tratando de imitar esta línea de mi .bashrc
:
shopt -s dotglob # for mv * see hidden files
Respuestas:
Esto es intencional La mayoría de las veces los usuarios no quieren hacer coincidir accidentalmente los archivos ocultos que son invisibles para ls
(sin -a
). Por lo general, los archivos están ocultos por una razón, no solo para molestarte. Además, si *
coincidiera con los archivos ocultos, los archivos no ocultos serían demasiado complicados.
Sin embargo, a diferencia de bash, shopt -s dotglob
no es necesario que coincida con los archivos ocultos. En bash, shopt -s dotglob
es la única forma de hacer coincidir cada archivo en el directorio sin coincidir accidentalmente .
o ..
. Sin embargo, la concha de pescado nunca puede coincidir .
o ..
con globos, por lo tanto, eso no es un problema (si realmente necesita coincidir .
o ..
por alguna razón tonta, solo dígalo explícitamente). Además, el pez intenta evitar tener opciones por diseño, por lo que no tiene dotglob
.
Para hacer coincidir cada archivo en el directorio, es posible que desee utilizar la expansión de soporte para detectar archivos que comienzan con puntos y aquellos que no lo son. {.,}
es la expansión del soporte que coincide con el punto que puede o no existir. La estrella después de eso coincide con todo. Debido a que los globos de peces no pueden coincidir .
o ..
, el siguiente código coincide con todo excepto con esos dos directorios (que bash lamentablemente coincide, si usa el código a continuación)
cat {.,}*
{,.}*
manualmente.