Articles of bash

Comment bash change-t-il les variables environnementales à la volée?

Comme nous le soaps, il est seulement possible de changer l'set des variables environnementales d'un process après l'appel système fork() et avant exec() , par exemple la manipulation de ce type est possible uniquement de parent à enfant via l'API appropriée. Cependant, quand nous utilisons bash et que c'est export , bash modifie en quelque […]

Pourquoi les time construits ne fonctionnent pas dans le pipeline?

J'ai l'exemple de script suivant: #!/usr/bin/env bash sleep 5 printf "times cmd: " times printf "pipeline: " times | ( read user sys; echo $user; ) printf "head: " times | head -n1 printf "times cmd again: " times avec la sortie suivante: $ ./test.sh times cmd: 0m0.003s 0m0.005s 0m0.001s 0m0.001s pipeline: 0m0.000s head: 0m0.000s […]

Est-il possible de sauvegarder la sortie d'une command précédente dans le file?

Très souvent, je suis dans la situation suivante: je lance une command sur bash (cela prend beaucoup de time pour être des process) et j'ai une sortie longue qui ne rentre pas dans le terminal et qui ne peut pas être lue même en utilisant le défilement. La seule façon dont je dois le lire […]

Comment canaliser des données d'une command à une autre command qui autorise uniquement un file en tant qu'argument?

J'ai quelques données arbitraires en tant que sortie d'une command (par exemple un fragment d'une donnée binary sortant en utilisant la tail ). Je veux le rawtopng [filein] [fileout] dans une autre command / programme qui autorise seulement un file comme argument (par exemple rawtopng [filein] [fileout] ), ne supporte pas les arguments dash ( […]

grep sortie de cdrecord

Je voudrais parsingr la sortie de cdrecord / wodim en utilisant grep. cdrecord -v affiche des lignes comme Track 01: 49 of 75 MB written (fifo 100%) [buf 100%] 10.2x. Le problème est que cdrecord utilise les returns de chariot ( CR , \r ) pour montrer la progression sur la même ligne. J'ai essayé […]

Bash: Commande de passage avec des parameters cités pour fonctionner

J'ai la fonction bash suivante: function exe { echo -e "Execute: $1" # Loops every 3s, outputting '…' until command finished executing LOOP=0 while true; do if ! [ $LOOP == 0 ]; then echo -e "…"; fi; sleep 3; LOOP=$LOOP+1 done & ERROR="$($2 2>&1)" # Execute the command and capture output to variable status=$? […]

Sourcing .bashrc à partir de ssh après avoir supprimé la vérification de la string d'invite

J'ai un file .bashrc qui doit être source non interactif. Le problème est que sur le file il y a cette déclaration de return empêchant l'approvisionnement par code: [ -z "$PS1" ] && return Pour surmonter ce problème sans modifier le file distant .bashrc je cat le file, grep cette ligne et la source comme […]

Pourquoi le code de sortie d'un script semble-t-il avoir une valeur différente de celle renvoyée?

J'ai un script (run-docker-container.sh) qui appelle un autre script (create-docker-container.sh). create-docker-container exécute un script curl contre le docker remote api et renvoie le code http ou zéro en cas de succès. Le script de création renvoie ainsi echo $RVAL exit $RVAL et dans mes tests a la valeur de $ RVAL comme 404, la valeur […]

Quelle configuration existe dans CentOS mais pas dans Ubuntu, qui affiche user @ nom_hôte pour les sessions du terminal distant?

Nous avons une installation "server de base" standard de CentOS 6.7 pour nos servers, et Ubuntu 14.04 pour nos ordinateurs de bureau. De mon bureau Ubuntu, quand je ssh dans un server distant (par exemple: ssh dans une instance de CentOS), mon terminal affiche user@hostname:path Cependant, quand je ssh dans un bureau distant (c.-à-d.: Ssh […]

Script n'attend pas les sous-process d'une boucle

Dans un script bash, je parcourt les dossiers à la search de certains files, et si je les trouve, j'appelle une fonction avec le directory qui contient ces files. Voir ci-dessous pairedread $1 & pairedread $2 & pairedread $3 & wait echo "Done …" echo echo "======================" echo "Testing again" echo "======================" echo find . […]