Estou tentando migrar de bash
para fish
.
Para que é o fish
analógico shopt
? Estou tentando imitar esta linha do meu .bashrc
:
shopt -s dotglob # for mv * see hidden files
command-line
fish
netimen
fonte
fonte
{,.}*
manualmente.Respostas:
Isso é intencional. Na maioria das vezes, os usuários não desejam coincidir acidentalmente com os arquivos ocultos que são invisíveis para
ls
(sem-a
). Geralmente, os arquivos ficam ocultos por um motivo, não apenas para trollá-lo. Além disso, se*
corresponder a arquivos ocultos, a correspondência de arquivos não ocultos seria muito complicada.No entanto, ao contrário do bash,
shopt -s dotglob
não é necessário para corresponder aos arquivos ocultos. No bash,shopt -s dotglob
é a única maneira de corresponder todos os arquivos no diretório sem coincidir acidentalmente.
ou..
. No entanto, a casca do peixe nunca pode corresponder.
ou..
com globs, portanto, isso não é um problema (se você realmente precisa corresponder.
ou..
por algum motivo bobo, diga-os explicitamente). Além disso, o peixe tenta evitar opções por design, para que não hajadotglob
.Para corresponder a todos os arquivos no diretório, convém usar a expansão de colchetes para detectar arquivos começando com pontos e os que não são.
{.,}
é a expansão do suporte que corresponde ao ponto que pode ou não existir. A estrela depois que combina com tudo. Como os globs no peixe não podem corresponder.
ou..
, o código a seguir corresponde a tudo, exceto para os dois diretórios (que basicamente coincidem, se você usar o código abaixo)fonte