À partir de la page Shell Command Language de la spécification POSIX: Si la première ligne d'un fichier de commandes shell commence par les caractères "#!", Les résultats ne sont pas spécifiés. Pourquoi le comportement de #!non spécifié par POSIX? Je trouve déconcertant que quelque chose d'aussi portable et largement …
J'ai vu quelques scripts shell avec le shebang suivant: #!/bin/bash -x -v Cependant, man bashn'explique pas ce que ces arguments -xet -vreprésentent, s'ils appartiennent bashà tous. Alors , qu'est-ce que ceux -xet -v(et d' autres arguments possibles) signifie?
Supposons que le shell par défaut de mon compte soit zsh mais j'ai ouvert le terminal et lancé bash et exécuté un script nommé prac002.sh, quel interpréteur de shell serait utilisé pour exécuter le script, zsh ou bash? Prenons l'exemple suivant: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | …
Existe-t-il un moyen de choisir dynamiquement l'interpréteur qui exécute un script? J'ai un script que j'exécute sur deux systèmes différents, et l'interpréteur que je veux utiliser se trouve à différents endroits sur les deux systèmes. Ce que je dois finir par changer, c'est la ligne de hachage à chaque fois …
En général, les scripts shell contiennent le commentaire suivant à la première ligne du fichier script: #!/bin/sh. Selon les recherches que j'ai faites, cela s'appelle "hash bang" et c'est un commentaire conventionnel. Ce commentaire informe Unix que ce fichier est exécuté par le Bourne Shell sous le répertoire /bin. Ma …
J'ai trouvé le type de shebang suivant sur la page RosettaCode: --() { :; }; exec db2 -txf "$0" Cela fonctionne pour Db2, et une chose similaire pour Postgres. Cependant, je ne comprends pas toute la ligne. Je sais que le double tiret est un commentaire en SQL, et après …
Lorsque j'exécute ce script, destiné à s'exécuter jusqu'à ce qu'il soit tué ... # foo.sh while true; do sleep 1; done ... je ne le trouve pas en utilisant ps ax: >./foo.sh // In a separate shell: >ps ax | grep foo.sh 21110 pts/3 S+ 0:00 grep --color=auto foo.sh ... …
J'ai un projet composé d'environ 20 petits .shfichiers. Je les nomme «petits» car généralement, aucun fichier ne contient plus de 20 lignes de code. J'ai adopté une approche modulaire car je suis donc fidèle à la philosophie Unix et il est plus facile pour moi de maintenir le projet. Au …
Est-ce que gawk se trouve généralement dans / bin ou / usr / bin? J'irais avec #!/usr/bin/env gawkmais je ne peux pas utiliser d'arguments. En ce moment j'utilise #!/bin/gawk -f. Le script est très long et contient beaucoup de guillemets simples et fonctionne avec stdin. Le manuel GNU Awk contient …
J'essaie d'exécuter un script python, sur un Raspberry PI sans tête à l'aide de winSCP et d'obtenir le message d'erreur suivant: Command '"./areadetect_movie_21.py"' failed with return code 127 and error message /usr/bin/env: python : No such file or directory. Lorsque j'essaie de courir depuis le terminal, j'obtiens: : No such …
J'ai rencontré quelques problèmes lors de l'exécution de certains scripts d'installation dont ils se plaignaient bad interpreter. J'ai donc fait un exemple trivial mais je ne peux pas comprendre quel est le problème, voir ci-dessous. #!/usr/bin/env bash echo "hello" L'exécution du script ci-dessus entraîne l'erreur suivante [root@ech-10-24-130-154 dc-user]# ./junk.sh bash: …
Pourquoi la "she-bang" commence-t-elle par #!, comme #!/bin/bash? J'ai toujours accepté que c'est ainsi que cela se fait, mais y a-t-il une raison derrière cela? Pourquoi commencer par #; n'est-ce pas habituellement un commentaire? Ou est-ce le point qu'il faudrait commenter?
Pourquoi les parties shebang des scripts élémentaires suivants ne fonctionnent-elles pas: $ cat hello.sh #! /bin/sh echo Hello $ ./hello.sh bash: ./hello.sh: /bin/sh^M: bad interpreter: No such file or directory $ cat hello.py #! /usr/bin/env python3 print("Hello") $ ./hello.py : No such file or directory alors que l'appel manuel de …
J'ai un script d'une autre personne qui a un look (note: c'est un seul fichier): #!/bin/bash some commands some commands #!/bin/bash some commands some commands #!/bin/bash some commands some commands Je me demande quel est le but des deuxième et troisième shebangs? Est-ce par erreur ou volontairement?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.