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.
La page de manuel Bash décrit l'utilisation de ${!a}pour renvoyer le contenu de la variable dont le nom est le contenu de a(un niveau d'indirection). Je voudrais savoir comment retourner tous les éléments d'un tableau à l'aide de ceci, c'est-à-dire a=(one two three) echo ${a[*]} Retour one two three Je …
J'essaie essentiellement d'assigner certaines parties de la sortie d'une commande shell à plusieurs variables, mais je ne sais pas comment faire. Par souci de simplicité, supposons que la commande sur le shell, lorsqu'elle s'exécute, imprime one two three four qui peut être simulé avec un echo "one two three four" …
Y a-t-il un avantage / un inconvénient à initialiser la valeur d'une variable bash dans le script, soit avant le code principal, soit les variables locales dans une fonction avant de lui affecter la valeur réelle? Dois-je faire quelque chose comme ça: init() { name="" name=$1 } init "Mark" Y …
Le manuel de Bash dit: Lorsque le [formulaire est utilisé, le dernier argument de la commande doit être un]. $ type [ [ is a shell builtin $ type ] bash: type: ]: not found Ce ]n'est donc pas un mot réservé, ni un opérateur, ni une commande intégrée. En …
J'ai un script bash qui simplement docker pousse une image: docker push $CONTAINER_IMAGE:latest Je veux faire une boucle 3 fois lorsque cela échoue. Comment dois-je y parvenir?
Besoin de suggestions d'experts sur la comparaison ci-dessous: Segment de code utilisant une boucle: for file in `cat large_file_list` do gzip -d $file done Segment de code utilisant une expansion simple: gzip -d `cat large_file_list` Lequel sera le plus rapide? Vous devez manipuler un grand ensemble de données.
Je souhaite copier un fichier de A vers B, qui peut se trouver sur différents systèmes de fichiers. Il existe des exigences supplémentaires: La copie est tout ou rien, aucun fichier B partiel ou corrompu laissé en place lors d'un crash; N'écrasez pas un fichier B existant; Ne rivalisez pas …
J'ai perdu quelques heures en essayant d'exécuter le serveur VNC (x0vncserver) et le client a refusé de se connecter avec un message étrange No password configured for VNC Auth Le serveur affiche également cette erreur SVncAuth: opening password file '~/.vnc/passwd' failed Ok, j'ai perdu beaucoup de temps jusqu'à ce que …
Considérez ce script: tmpfile=$(mktemp) cat <<EOS > "$tmpfile" line 1 line 2 line 3 EOS cat <(tail -1 "$tmpfile") "$tmpfile" Cela fonctionne et génère: line 3 line 1 line 2 line 3 Disons que notre source d'entrée, plutôt que d'être un fichier réel, était plutôt stdin: cat <<EOS | # …
Je travaille dans un environnement relativement hétérogène où je peux exécuter différentes versions de Bash sur différents nœuds HPC, machines virtuelles ou mon poste de travail personnel. Parce que je mets mes scripts de connexion dans un référentiel Git, je voudrais utiliser le même (ish) à .bashrctous les niveaux, sans …
Je veux savoir s'il existe un moyen de mettre l'esperluette dans une variable tout en l'utilisant pour envoyer un processus en arrière-plan. Cela marche: BCKGRND=yes if [ "$BCKGRND" = "yes" ]; then sleep 5 & else sleep 5 fi Mais ne serait-ce pas cool d'accomplir ces cinq lignes avec une …
J'essaie d'imprimer deux chaînes séparées par un TAB. J'ai essayé: echo -e 'foo\tbar' printf '%s\t%s\n' foo bar Tous deux impriment: foo bar Où l'espace entre les deux est en fait de 5 espaces (selon la sélection de la sortie avec la souris dans Putty). J'ai également essayé d'utiliser CTRL + …
Je veux générer une liste triée avec tous les nombres à 8 chiffres - de 00000000 à 99999999. J'ai tapé dans le shell: f() { while IFS="" read -r line; do for i in {0..9}; do echo "$line$i"; done; done } echo | f | f | f | f …
Je l'ai tapé par erreur mais bash n'a imprimé aucune erreur (mais a créé un fichier vide) alors j'ai pensé que cela signifiait peut-être quelque chose? (par exemple date |> tmp.txt)
Je travaille sur un script et j'ai besoin de construire la tarcommande dynamiquement. Voici deux exemples pour illustrer ce que j'essaie de faire: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar …
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.