concha de pescado: análogo "shopt -s dotglob"

9

Estoy tratando de migrar de basha fish.

¿Cuál es el fishanálogo de shopt? Estoy tratando de imitar esta línea de mi .bashrc:

shopt -s dotglob # for mv * see hidden files
netimen
fuente
Estoy bastante seguro de que no hay uno. la documentación habla sobre archivos de puntos que no se incluyen sin mencionar ningún mecanismo de configuración. Probablemente tendrás que engullirte {,.}*manualmente.
Glenn Jackman
1
Tenga en cuenta que puede preguntar en stackoverflow.com, algunos de los mantenedores de pescado pasan el rato allí.
Glenn Jackman

Respuestas:

8

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 dotglobno es necesario que coincida con los archivos ocultos. En bash, shopt -s dotglobes 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 {.,}*
Konrad Borowski
fuente