J'ai deux scripts bash qui essaient de vérifier les hôtes qui sont en place: Script 1: #!/bin/bash for ip in {1..254}; do ping -c 1 192.168.1.$ip | grep "bytes from" | cut -d" " -f 4 | cut -d ":" -f 1 & done Script 2: #!/bin/bash for ip in {1..254}; do host=192.168.1.$ip (ping -c […]
Considérez la command suivante: seq 5 | grep $(tail -n1) <(seq 9) Lorsque vous l'exécutez dans zsh 1 : tail: error reading 'standard input': Input/output error Maintenant exécutant la même chose dans bash , il sort: 5 D'ACCORD. Comme expliqué dans les commentaires, la command $(tail -n1) hérite de stdin de son parent. Mais pourquoi […]
J'ai récemment essayé de créer un script shell pour un projet mineur, et pour une raison quelconque, la command flock ne fonctionne pas correctement pour moi. Chaque fois que je l'invoque dans un sous-shell la façon atomique et le mettre en arrière-plan, d'autres programmes semblent pouvoir lire / écrire dans le file verrouillé. Session de […]
J'essaie d'exécuter des indices à partir d'un script principal, mais je veux m'assurer que pas plus que n indices s'exécutent en même time. L'exemple simplifié suivant illustre. Chaque indice crée un file fictif dans RAM ( /dev/shm/ ) avec un nom composé d'un horodatage unique et le supprime une fois terminé. Le script principal count […]
Je comprends la substitution de command. Je comprends les sous-coquilles. Je ne comprends pas pourquoi l'utilisation d'un sous-shell change la structure de mon tableau. Compte tenu de cette sortie de command: (l'utilisation de la command openstack n'est pas destinée à être pertinente) bash$ floating ip list -c 'Floating IP Address' -f value 172.25.250.106 172.25.250.107 172.25.250.101 […]
Lorsque j'exécute la command suivante: #!/bin/bash while IFS= read -r -d '' file; do files+=$file done < <(find -type f -name '*.c' -print0) echo "${files[@]}" Je n'ai pas le même résultat que celui-ci: #!/bin/bash find_args="-type f '*.c' -print0" while IFS= read -r -d '' file; do files+=$file done < <(find $find_args) echo "${files[@]}" Comment puis-je […]
J'ai un système de facturation ISP installé sur Debian GNU / Linux 8, qui a 3 maps NIC. Le server est connecté à 3 routeurs Mikrotik. Chaque routeur est connecté à différentes lignes internet, ce qui signifie qu'ils ont 3 sous-réseaux IP statiques différents. Actuellement, le server est connecté au 172.10.1.1/24 directement via eth0. les […]
Exécutez une command de séquence dans un sous–shell comme ceci: (git pull;git rebase develop)&>/dev/null Je pense que cela mettra le sous-shell et tous les process enfants créés en arrière-plan, et returnnera le contrôle à l'user. Mais en fait, le terminal raccroche pendant un certain time, semble attendre que les commands se terminent en sous-shell. Alors […]
J'ai écrit un script simple #!/bin/bash -x selentry=`ls -l / | sort ; ts=${PIPESTATUS[0]}` echo $ts mais $ ts ne montre rien. Comment je peux afficher la variable $ ts, ou comment get le code d'état de sortie de la command dans la variable? selentry=`ls -l / | sort`
Je comprends que quand j'exécute la exit il termine mon shell actuel car la command exit s'exécute dans le même shell. Je comprends aussi que lorsque j'exécute exit & le shell d'origine ne se terminera pas parce que & assure que la command est exécutée dans le sous-shell. Cette exit terminera ce sous-shell et returnnera […]