Il existe deux syntaxes pour la substitution de commande: avec dollar-parentheses et avec backticks. Courir top -p $(pidof init)et top -p `pidof init`donne le même résultat. S'agit-il de deux manières de faire la même chose ou existe-t-il des
Questions sur la substitution de commandes shell (comme $ (command) ou `command`), son mécanisme, sa syntaxe correcte, etc. À ne pas confondre avec l'aliasing.
Il existe deux syntaxes pour la substitution de commande: avec dollar-parentheses et avec backticks. Courir top -p $(pidof init)et top -p `pidof init`donne le même résultat. S'agit-il de deux manières de faire la même chose ou existe-t-il des
Dans mon environnement Bash, j'utilise des variables contenant des espaces et j'utilise ces variables dans la substitution de commandes. Malheureusement, je ne trouve pas la réponse sur SE. Quelle est la bonne façon de citer mes variables? Et comment dois-je le faire si ceux-ci sont imbriqués?...
J'ai une commande qui envoie des données à stdout ( command1 -p=aaa -v=bbb -i=4). La ligne de sortie peut avoir la valeur suivante: rate (10%) - name: value - 10Kbps Je veux grep cette sortie afin de stocker ce "taux" (je suppose que pipe sera utile ici). Et enfin, j'aimerais que ce taux soit la...
Je veux créer un fichier journal pour un script cron qui a l'heure actuelle dans le nom du fichier journal. Voici la commande que j'ai essayé d'utiliser: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log Malheureusement, je reçois ce message quand ça marche: /bin/sh: -c: line 0:...
#!/bin/bash function0() { local t1=$(exit 1) echo $t1 } function0 echoaffiche la valeur vide. J'esperais: 1 Pourquoi la t1variable n'est-elle pas affectée à la valeur de retour de la commande exit -
J'essaie la commande $ b=5; echo `$b`; -bash: 5: command not found mais il n’imprime pas comme il est supposé. Qu'est-ce que j'oublie ici? Que signifie `(backquote / backtick) dans les commandes? semble dire que `évalue les commandes et les remplace par la
Je sais que je peux résoudre ce problème de plusieurs manières, mais je me demande s'il existe un moyen de le faire en utilisant uniquement les bash intégrés, et sinon, quel est le moyen le plus efficace de le faire. J'ai un fichier avec un contenu comme AAA B C DDD FOO BAR par quoi je veux...
Selon l'exemple suivant, et comme dans ma récente question Dans bash, où est passé le caractère de fin de ligne? , Je veux savoir "pourquoi" ça arrive x="$(echo -ne "a\nb\n")" ; echo -n "$x" | xxd -p # Output is: 610a62 # The trailing newline from the 'echo' command # has been "deleted" by Command...
Cette question a été migrée depuis Server Fault car il est possible d'y répondre sur Unix et Linux Stack Exchange. Migré il y a 2 ans . Une méthode d'installation facile pour Docker (par exemple) est la suivante: curl -sSL https://get.docker.com/ | sh Cependant, j'en ai également vu certains qui...
Considérez ce script: #!/bin/bash function start { leafpad & echo $! } PID=$(start) echo "PID is $PID" Le script ne continue pas au-delà de son accolade fermante jusqu'à la fin du processus du pavé feuille, même s'il s'agit d'un processus d'arrière-plan. Pourquoi est-ce? Est-il possible de...
Une réponse StackOverflow avec> 3,5 K votes présente cette ligne unique pour l'attribution au DIRrépertoire du script bash actuel: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Je suis perplexe devant les guillemets imbriqués. Pour autant que je sache, les fragments suivants...
Dans cette question, quelqu'un signale un problème d'utilisation d'un document ici avec un mot délimiteur entre guillemets à l'intérieur de la $(...)substitution de commande , où une barre oblique inversée \à la fin d'une ligne à l'intérieur du document déclenche la poursuite de la ligne de...
for k in {0..49}; do a=$(($((2*$k))+1)); echo $a; done Salut, j'ai besoin d'une expression simplifiée pour la troisième ligne, peut-être une qui n'utilise pas de substitution de
Il est grand temps de résoudre cette énigme qui me dérange depuis des années ... Je l'ai rencontré de temps en temps et j'ai pensé que c'était la voie à suivre: $(comm "$(arg)") Et j'ai pensé que mon point de vue était fortement soutenu par l'expérience. Mais je n'en suis plus si sûr. Shellcheck ne...
J'essaie d'invoquer un script avec une liste de noms de fichiers collectés par find. Rien de spécial, juste quelque chose comme ça: $ myscript `find . -name something.txt` Le problème est que certains des chemins d'accès contiennent des espaces, ils sont donc divisés en deux noms invalides lors de...
Je crois comprendre que la $(...)syntaxe de substitution de commandes plus moderne est préférée à la `syntaxe basée sur l'ancienne , en raison d'une syntaxe d'imbrication et d'échappement plus facile et moins sujette aux erreurs. De plus, il semble que la plupart /bin/shdes shells de style moderne...
Répondre à cette question m'a amené à poser une autre question: je pensais que les scripts suivants font la même chose et le second devrait être beaucoup plus rapide, car le premier utilise catqui a besoin d'ouvrir le fichier encore et encore mais le second ouvre le fichier uniquement une fois,...
Le code suivant décrit le mieux la situation. Pourquoi la dernière ligne ne génère-t-elle pas le caractère de retour à la ligne de fin? La sortie de chaque ligne est indiquée dans le commentaire. J'utilise GNU bash, version 4.1.5 echo -n $'a\nb\n' | xxd -p # 610a620a x=$'a\nb\n' ; echo -n "$x" |...
J'essaie d'exécuter grep sur une liste de quelques centaines de fichiers: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php Cependant, même si je recherche une chaîne que je connais dans les fichiers, ce qui suit ne recherche pas les fichiers: $ grep -i 'foo' <(cat...
Selon ce manuel de référence : -E (également -o errtrace) S'il est défini, tout piège sur ERR est hérité par les fonctions shell, les substitutions de commandes et les commandes exécutées dans un environnement de sous-shell. Le piège ERR n'est normalement pas hérité dans de tels cas. Cependant, je...