Articles of sous

Mettre sous-shell en arrière-plan vs mettre la command en arrière-plan

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 […]

zsh: la substitution de command n'hérite pas stdin de son parent

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 […]

Flock ne semble pas fonctionner

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 […]

Comment ne pas exécuter plus de n sous-coquilles parallèles

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 […]

Peut-il être expliqué? la différence de comportement de tableau entre l'utilisation de array = $ (command) et array = ($ (command))?

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 […]

Bash: les citations échappées dans le sous-shell

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 […]

Serveur Debian avec 3 maps réseau Communiquant avec 3 sous-réseaux IP différents

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 […]

Comment mettre le sous-shell et les commands associées en arrière-plan?

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 […]

Variables d'access définies à l'intérieur des substitutions de commands

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`

Pourquoi le sous-shell créé par l'opérateur de contrôle d'arrière-plan (&) n'est pas affiché sous pstree

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 […]