Questions spécifiques au Bourne Again SHell de GNU, par opposition aux autres shells Bourne / POSIX. Pour les questions sur les shells Unix en général, utilisez plutôt la balise / shell.
Je crée un fichier avec des champs délimités par des tabulations. echo foo$'\t'bar$'\t'baz$'\n'foo$'\t'bar$'\t'baz > input J'ai le script suivant nommé zsh.sh #!/usr/bin/env zsh while read line; do <<<$line cut -f 2 done < "$1" Je le teste. $ ./zsh.sh input bar bar Cela fonctionne bien. Cependant, lorsque je modifie la …
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?)
Dans le Bashshell, je peux obtenir l'état de sortie de la commande via la $?variable: # ps -ef | grep "haha" root 15439 15345 0 23:02 pts/0 00:00:00 grep --color=auto haha # echo $? 0 Est-il disponible uniquement dans le shell Bash? Ou puis-je également l'utiliser dans d'autres coques?
J'utilise actuellement ceci pour afficher l'heure actuelle dans mon invite bash: PS1=\[\e[0;32m\]\t \W>\[\e[1;37m\] 20:42:23 ~> Est-il possible d'afficher le temps écoulé depuis l'invite précédente? Tel que: 00:00:00 ~> sleep 10 00:00:10 ~> sleep 20 00:00:20 ~> Cela n'a rien de commun avec Est-il possible de changer périodiquement la PS1 par …
Pourquoi est-ce qu'en utilisant bash et en suspendant une boucle while, la boucle s'arrête après avoir été reprise? Petit exemple ci-dessous. $ while true; do echo .; sleep 1; done . . ^Z [1]+ Stopped sleep 1 $ fg sleep 1 $ Je connais les signaux et je suppose que …
Je souhaite exécuter une commande toutes les 10 secondes et l'exécuter en arrière-plan (éliminant ainsi watch?). Toutes les réponses montrent quelque chose comme ce qui suit, mais cela s'exécutera de 11 à 14 secondes. Comment cela peut-il être accompli? while true; do # perform command that takes between 1 and …
Je veux ~~pointer vers un répertoire différent afin de pouvoir l'utiliser comme raccourci. Je veux qu'il ait exactement les mêmes fonctionnalités que ~. Comment puis-je faire ceci?
J'essayais de faire un script bash très simple pour lister tous les multiples de cinq entre 375 et 3500 (375, 380, 385 ...). Une chose que j'ai essayée et qui n'a pas fonctionné est: for i in {375..3500} do echo $i (($i += 5)) done J'ai abandonné après un certain …
L'exemple ci-dessous explique le problème. Pourquoi l' FILENAMEimpression est-elle correctement lorsqu'elle est répétée et perçue comme un motif lors de l'utilisation de la substitution? #!/bin/bash FILEPATH_WITH_GLOB="/home/user/file_*" FILENAME=$(basename "$FILEPATH_WITH_GLOB") echo $FILENAME #file_1234 echo ${FILENAME:1:5} #ile_* <---why is this not ile_1
Dans un script bash sur lequel je travaille (qui doit s'exécuter sur Ubuntu et OS X), j'ai besoin de rediriger la sortie de centaines de commandes vers un fichier. Plutôt que de les ajouter &>...à tous, je fais simplement exec 9>&1 exec 5<>/tmp/some-file.txt exec 1>&5 Jusqu'ici tout va bien, mais …
Disons que j'ai une commande git branch(toujours avec quelques mots) par exemple. Ce que je veux, c'est garder une trace de quand cette commande est exécutée avec des arguments. Par exemple, si j'exécute la commande git branch developsans erreur, je souhaite enregistrer developsur un fichier. J'ai essayé d'écraser la commande …
J'utilise souvent ctrl+cpour copier du texte à partir d'une application graphique, puis le coller dans mon émulateur de terminal (terminateur), en utilisant le menu contextuel et le coller. Parfois, j'oublie que le presse-papiers contient plusieurs lignes qui, une fois collées dans bash, "exécutent" chaque ligne Existe-t-il une solution pour empêcher …
J'essaie de générer une liste d'utilisateurs qui ont un ensemble de répertoires personnels qui n'existe pas. Il semble que je devrais être capable de le faire avec awk, mais quelque chose ne va pas avec ma syntaxe. Il continue de me dire "Syntaxe invalide" sur le]. Qu'est-ce que je fais …
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'ai besoin d'exécuter un script en le canalisant bashavec wget(plutôt que de l'exécuter directement avec bash). $ wget -O - http://example.com/my-script.sh | bash Cela ne fonctionne pas car mon script contient des readinstructions. Pour une raison quelconque, cela ne fonctionne pas lors de la tuyauterie pour bash: # Piping to …
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.