Questions marquées «shell-script»

11
Test de prise en charge des baies par shell

Existe-t-il un moyen concis de tester la prise en charge des tableaux par le shell local de type Bourne sur la ligne de commande? C'est toujours possible: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi ou tester $SHELLet version shell: $ eval $(echo "$SHELL --version") |...

11
Comment obtenir le dernier argument d'une fonction / bin / sh

Quelle meilleure façon de mettre en œuvre print_last_arg? #!/bin/sh print_last_arg () { eval "echo \${$#}" # this hurts } print_last_arg foo bar baz # baz (Si c'était le cas, par exemple, #!/usr/bin/zshau lieu de #!/bin/shje saurais quoi faire. Mon problème est de trouver un moyen raisonnable de...

11
Dans un script shell, comment puis-je (1) démarrer une commande en arrière-plan (2) attendre x secondes (3) exécuter une deuxième commande pendant l'exécution de cette commande?

Voici ce que je dois faire: démarrer le processus A en arrière-plan attendez x secondes démarrer le processus B au premier plan Comment puis-je faire attendre? Je constate que le «sommeil» semble tout arrêter et je ne veux pas vraiment «attendre» que le processus A se termine complètement. J'ai vu...

11
Retour implicite dans les fonctions bash?

Disons que j'ai une fonction bash comme ceci: gmx(){ echo "foo"; } cette fonction retournera-t-elle implicitement la valeur de sortie de la echocommande, ou l'utilisation de return est-elle nécessaire? gmx(){ echo "foo"; return $? } Je suppose que de la façon dont bash fonctionne, l'état de sortie...

11
Recherche de cas en fonction de la condition if

Je cherche un moyen de faire en sorte que la chute se produise en fonction d'une condition if dans une condition de cas dans bash. Par exemple: input="foo" VAR="1" case $input in foo) if [ $VAR = "1" ]; then # perform fallthrough else # do not perform fallthrough fi ;; *) echo "fallthrough worked!"...

11
Commande multiligne: commentez une ligne

J'aime utiliser le format suivant dans les scripts pour les commandes avec beaucoup de paramètres (pour la lisibilité): docker run \ --rm \ -u root \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME":/home \ jenkinsci/blueocean Mais,...