Comment faire un alias à partir d'une déclaration avec plusieurs: "et plusieurs: '


2

Comment en faire un alias dans zsh?

svn status | grep "^?" | awk -F "      " '{print $2}' | tr "\n" "\0" | xargs -0 svn add

Je sais que ça devrait être quelque chose du genre:

alias sall = "the command"

Mais comme la ligne se mélange "avec", je ne sais pas comment gérer ça.

Réponses:


5

Vous pouvez utiliser "pour votre commande awk.

alias sall='svn status | grep "^?" | awk -F " " "{print $2}" | tr "\n" "\0" | xargs -0 svn add'

devrait marcher.


La version des caractères échappés donne une erreur à propos de la non correspondance. Mais la première version fonctionne, si vous lui donnez le pseudonyme sall = 'svn st ...' (pas d'espace)
Nerian

@Nerian: Si vous utilisez des guillemets doubles autour de la commande awk, vous devrez échapper au signe dollar:awk -F " " "{print \$2}"
Dennis Williamson

2
Désolé, Bash en a besoin. Apparemment, zsh ne le fait pas. Après avoir essayé les deux, je vois la différence.
Dennis Williamson

1

Utilisez une fonction.

sall() {
    svn status | sed -rn 's/^\? {7}//p' | xargs -d '\n' svn add
}

(Étant donné svnque Newline est utilisé comme séparateur de sortie, il n’a aucun sens de le convertir en valeurs nulles et inverses.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.