J'essaie de migrer de bash
vers fish
.
À quoi est fish
analogue l ' shopt
? J'essaie d'imiter cette ligne de mon .bashrc
:
shopt -s dotglob # for mv * see hidden files
command-line
fish
netimen
la source
la source
{,.}*
manuellement.Réponses:
C'est intentionnel. La plupart du temps, les utilisateurs ne veulent pas faire correspondre accidentellement les fichiers cachés qui sont invisibles pour
ls
(sans-a
). Habituellement, les fichiers sont cachés pour une raison, pas seulement pour vous troller. De plus, si*
cela correspondait à des fichiers cachés, faire correspondre des fichiers non cachés serait trop délicat.Cependant, contrairement à bash, il
shopt -s dotglob
n'est pas nécessaire de faire correspondre les fichiers cachés. En bash,shopt -s dotglob
est le seul moyen de faire correspondre tous les fichiers du répertoire sans faire correspondre accidentellement.
ou..
. Cependant, la coquille de poisson ne peut jamais correspondre.
ou..
avec des globes, donc ce n'est pas un problème (si vous avez vraiment besoin de faire correspondre.
ou..
pour une raison stupide, dites-les simplement explicitement). De plus, le poisson essaie d'éviter d'avoir des options par conception, donc il n'en a pasdotglob
.Pour faire correspondre chaque fichier du répertoire, vous pouvez utiliser l'extension du support pour détecter les fichiers commençant par des points et ceux qui ne le sont pas.
{.,}
est une extension de parenthèse qui correspond à un point qui peut ou non exister. L'étoile après tout correspond à tout. Parce que les globes dans fish ne peuvent pas correspondre à.
ou..
, le code suivant correspond à tout sauf à ces deux répertoires (qui correspondent malheureusement à bash, si vous utilisez le code ci-dessous)la source