Je viens de regarder une vidéo de Kent C. Dodds où il explique son .bash_profile
.
Il utilise le les alias suivants pour yarn
et npm
:
## npm aliases alias ni="npm install"; alias nrs="npm run start -s --"; alias nrb="npm run build -s --"; alias nrd="npm run dev -s --"; alias nrt="npm run test -s --"; alias nrtw="npm run test:watch -s --"; alias nrv="npm run validate -s --"; alias rmn="rm -rf node_modules"; alias flush-npm="rm -rf node_modules && npm i && say NPM is done"; alias nicache="npm install --prefer-offline"; alias nioff="npm install --offline"; ## yarn aliases alias yar="yarn run"; alias yas="yarn run start -s --"; alias yab="yarn run build -s --"; alias yat="yarn run test -s --"; alias yav="yarn run validate -s --"; alias yoff="yarn add --offline"; alias ypm="echo \"Installing deps without lockfile and ignoring engines\" && yarn install --no-lockfile --ignore-engines"
Je me demandais ce que signifiait le -s -
drapeau faire? Kent ne l'explique pas dans la vidéo et je n'ai trouvé aucune info sur le drapeau ( s).
3 Réponses :
Cela signifie la fin des options de commande. Par conséquent, vous ne pouvez pas utiliser les options de commande (telles que -s
) après un double tiret. Cependant, vous pouvez, par exemple, lister les fichiers à traiter par commande.
L'option -s
elle-même est courte équivalente à --loglevel = silent
qui désactive la sortie de journalisation.
-s
équivaut à --silent
.
-
est une convention Unix courante signifiant la fin des options. Après cela, même si un argument ressemble à une option, il sera considéré comme un argument positionnel.
L'option -s
fait que yarn
ne produit rien sur la sortie standard, c'est-à-dire. le fait taire.
Le -
provient de conventions de l'utilitaire posix et est très courant parmi les outils Linux en ligne de commande:
alias yas="yarn run start -s --"; yas -package
Donc:
alias yas="yarn run start -s"; yas -package
Tous ok, il affichera -n
. Mais:
> printf -- -n -n
Pour permettre de passer -n
, ie. option commençant par un -
comme premier argument de printf, on peut utiliser --
:
> printf -n bash: printf: -n: invalid option printf: usage: printf [-v var] format [arguments]
Donc:
> printf "%s" -n -n
lancera une option inconnue par fil, car il essaiera d'analyser -p
comme une option. Faire:
Guideline 10: The first -- argument that is not an option-argument should be accepted as a delimiter indicating the end of options. Any following arguments should be treated as operands, even if they begin with the '-' character.
lancera un paquet inconnu par yarn
car il n'y a pas de paquet nommé -package
. En utilisant -
, l'auteur empêche effectivement l'utilisateur (lui-même) de transmettre des options supplémentaires à yarn, car tous les arguments suivants seront interprétés comme des noms de packages uniquement.
Et le capital S? Y a-t-il une différence?
@ZakherMasri Et la capitale S? Différence entre quoi et quoi?
Le S majuscule au petit s (-s vs -S). Est-il même sensible à la casse?
Ça fait deux drapeaux. Par convention,
-s
est le raccourci pour--silent
.-
est juste la fin des arguments àexécuter
et le début des arguments à tout ce que vous exécutez. Voir docs.npmjs.com/cli/run-script.html (pas les documents d'installation, pour lesquels cela n'est pas utilisé).Copie possible de Que fait - faire lors de l'exécution d'une commande npm? a>
Également stackoverflow.com/q/41383247/3001761