Questions sur la substitution de commandes shell (comme $ (command) ou `command`), son mécanisme, sa syntaxe correcte, etc. À ne pas confondre avec l'aliasing.
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 l'expansion …
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 …
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 …
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 dois …
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 files.txt) $ grep -i …
Disons que je dois utiliser des guillemets pour encapsuler la sortie du sous-shell comme: DATA="$(cat file.hex | xxd -r)" Mais je dois imbriquer ce genre de choses comme: DATA="$(cat file.hex | xxd -r | tr -d \"$(cat trim.txt)\")" Je ne peux pas utiliser de guillemets simples car ceux-ci ne développent …
Donné cmd='fun(){ echo "$@"; }; fun $(fun $(fun hi))' les coquilles ont tendance à avoir besoin de 2 fourchettes pour y arriver strace-f(){ strace -f "$@" 2>&1; }; for sh in dash bash zsh ksh; do printf "$sh\t" ; strace-f $sh -c "$cmd" |grep -e clone -e fork -c; done …
Existe-t-il un moyen de spécifier plusieurs variables (pas seulement des entiers) dans les forboucles de bash? Je peux avoir 2 fichiers contenant du texte arbitraire avec lesquels je devrais travailler. Ce dont j'ai besoin fonctionnellement est quelque chose comme ceci: for i in $(cat file1) and j in $(cat file2); …
Suite de: comportement inattendu dans la substitution de commandes shell J'ai une commande qui peut prendre une énorme liste d'arguments, dont certains peuvent légitimement contenir des espaces (et probablement d'autres choses) J'ai écrit un script qui peut générer ces arguments pour moi, avec des guillemets, mais je dois copier et …
J'essaie de comprendre comment Bash traite exactement la ligne suivante: $(< "$FILE") Selon la page de manuel de Bash, cela équivaut à: $(cat "$FILE") et je peux suivre le raisonnement de cette deuxième ligne. Bash effectue une expansion variable $FILE, entre la substitution de commandes, transmet la valeur de $FILEà …
Voir les exemples suivants et leurs sorties dans des shells POSIX: false;echo $?ou false || echo 1:1 false;foo="bar";echo $?ou foo="bar" && echo 0:0 foo=$(false);echo $?ou foo=$(false) || echo 1:1 foo=$(true);echo $?ou foo=$(true) && echo 0:0 Comme mentionné par la réponse la plus votée sur /programming/6834487/what-is-the-variable-in-shell-scripting : $? est utilisé pour …
J'ai vu des constructions dans des scripts comme celui-ci: if somevar="$(somecommand 2>/dev/null)"; then ... fi Est-ce documenté quelque part? Comment le statut de retour d'une variable est-il déterminé et comment est-il lié à la substitution de commandes? (Par exemple, pourrais-je obtenir le même résultat avec if echo "$(somecommand 2>/dev/null)"; then?)
Je voudrais utiliser la substitution de variable sur une chaîne particulière à laquelle j'accède via une commande. Par exemple, si je copie quelque chose dans mon presse-papiers, je peux y accéder comme ceci. $ xclip -o -selection clipboard Here's a string I just copied. Si je l'assigne à une variable, …
J'essayais simplement de répertorier tous les répertoires et fichiers sous le répertoire actuel et d'écrire également s'ils sont des fichiers ou des répertoires avec la commande suivante: find -exec echo `echo {} : ;if [ -f {} ]; then echo file; else echo directory;fi` \; Je sais que c'est une …
Quand je fais ls | grep pngla sortie de grep c'est: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (nom de fichier, nouvelle ligne, nom de fichier, nouvelle ligne) puis, echo $(ls | grep png)sort: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (nom de fichier, espace du fractionnement de mots, nom de fichier, nouvelle ligne !! de l'écho !!) C'est tout …
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.