J'essaie de migrer de bash
à fish
.
Quel est le fish
de l'analogie avec shopt
? J'essaie d'imiter cette ligne de mon .bashrc
:
shopt -s dotglob # for mv * see hidden files
J'essaie de migrer de bash
à fish
.
Quel est le fish
de l'analogie avec shopt
? J'essaie d'imiter cette ligne de mon .bashrc
:
shopt -s dotglob # for mv * see hidden files
C'est intentionnel. La plupart du temps, les utilisateurs ne veulent pas faire correspondre accidentellement les fichiers cachés qui sont invisibles pour les utilisateurs de l'ordinateur. ls
(sans -a
). En général, les fichiers sont cachés pour une raison, et pas seulement pour vous troller. De plus, si *
correspondrait aux fichiers cachés, la correspondance avec les fichiers non cachés serait trop délicate.
Cependant, contrairement à bash shopt -s dotglob
n'est pas nécessaire pour faire correspondre les fichiers cachés. Dans bash, shopt -s dotglob
est le seul moyen de faire correspondre chaque fichier du répertoire sans faire correspondre accidentellement .
o ..
. Cependant, le poisson Shell ne peut jamais correspondre à .
o ..
avec des goujons, donc ce n'est pas un problème (si vous avez sérieusement besoin de faire correspondre des .
o ..
pour une raison idiote, les dire explicitement). De plus, le poisson essaie d'éviter d'avoir des options par conception, donc il n'a pas de dotglob
.
Pour faire correspondre chaque fichier du répertoire, vous pouvez utiliser l'expansion des parenthèses pour détecter les fichiers commençant par des points, et ceux qui ne le sont pas. {.,}
est une expansion de parenthèses qui correspond à des points qui peuvent ou non exister. L'étoile qui suit correspond à tout. Parce que les globs dans les poissons ne peuvent pas correspondre à .
o ..
le code suivant correspond à tout sauf à ces deux répertoires (que bash correspond malheureusement, si vous utilisez le code ci-dessous)
cat {.,}*
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.