Je voudrais vérifier, dans un script bash, quel type de système de fichiers est un répertoire. L'idée est quelque chose comme if [path] is on a [filesystem] filesystem then filesystem specific command end if
Je voudrais vérifier, dans un script bash, quel type de système de fichiers est un répertoire. L'idée est quelque chose comme if [path] is on a [filesystem] filesystem then filesystem specific command end if
Existe-t-il un moyen concis de tester la prise en charge des tableaux par le shell local de type Bourne sur la ligne de commande? C'est toujours possible: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi ou tester $SHELLet version shell: $ eval $(echo "$SHELL --version") |...
Bref énoncé de la question: Existe-t-il une méthode bash intégrée pour compter le nombre d'éléments dans le tableau bash, où le nom du tableau est dynamique (c'est-à-dire stocké dans une variable), sans recourir à une copie complète du tableau ou à l'utilisation eval? Plus d'information: En...
Quelle meilleure façon de mettre en œuvre print_last_arg? #!/bin/sh print_last_arg () { eval "echo \${$#}" # this hurts } print_last_arg foo bar baz # baz (Si c'était le cas, par exemple, #!/usr/bin/zshau lieu de #!/bin/shje saurais quoi faire. Mon problème est de trouver un moyen raisonnable de...
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...
C'est peut-être une question banale, mais dans la manpage, je n'ai pas trouvé quelque chose d'utile. J'utilise Ubuntu et bash. La sortie normale pour sha512sum testfileest <hash_code> testfile Comment supprimer la sortie du nom de fichier? Je voudrais obtenir juste
Je me demandais s'il existe une convention pour les extensions de type de fichier pour les scripts shell que vous souhaitez source au lieu d'exécuter. Par exemple: Si je veux exécuter ce script en sous-shell. ./script.sh Si je veux me rappeler d'exécuter ce script à partir du shell actuel. ....
Disons que j'ai ça script.sh #!/bin/bash exit_script() { echo "Printing something special!" echo "Maybe executing other commands!" kill -- -$$ # Sends SIGTERM to child/sub processes } echo "Some other text" #other commands here sleep infinity Je veux script.shexécuter la fonction exit_scriptchaque...
Disons que j'ai des données de configuration dans un fichier config. Pour plus de commodité, je voudrais charger ces données dans une variable shell, CONFIG_DATA. Évidemment je peux faire: CONFIG_DATA="$(cat config)" Mais cela me semble un peu inutilecat . Est-ce la seule façon de procéder? Ou...
Je lance le script ci-dessous: #!/bin/bash ps ax | grep -q [v]arnish if [ $? -eq 0 ];then echo varnish is running... exit 0 else echo "Critical : varnish is not running " exit 2 fi La sortie est comme :: [root@server ~]# sh -x check_varnish_pro.sh + ps ax + grep -q '[v]arnish' + '[' 0 -eq 0 ']' +...
J'essaye de faire quelques tours avec dd. J'ai pensé qu'il serait possible de stocker des valeurs hexadécimales dans une variable appelée "en-tête" pour la diriger vers dd. Ma première étape sans variable a été la suivante: $ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex $ hd hex 00000000 36 c9 da 00...
J'ai écrit un script shell qui gère certains noms de fichiers "normaux", mais j'ai lu Pourquoi mon script shell s'étouffe sur les espaces ou d'autres caractères spéciaux? et Pourquoi vous ne devriez pas analyser la sortie de ls et je voudrais qu'elle soit plus robuste et gère tous les noms de...
J'ai une petite question. Est-il normal que bash (j'utilise 4.4.11) n'affiche pas les lignes / texte séparés / fin avec plain \r? J'ai été un peu surpris de voir ce comportement: $ a=$(printf "hello\ragain\rgeorge\r\n") $ echo "$a" george Mais le texte "bonjour encore" est toujours là, en quelque...
Dans mon ~/.profilej'ai un dernier bloc qui devrait charger mon personnel bin/ directorycomme ceci: # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi Mais il n'est apparemment pas chargé: echo $PATH
En regardant la sortie de env, j'ai remarqué qu'il y a aussi la fonction suivante. BASH_FUNC_mc%%=() { . /usr/share/mc/mc-wrapper.sh } Le contenu du fichier /usr/share/mc/mc-wrapper.sh est le suivant. MC_USER=`id | sed 's/[^(]*(//;s/).*//'` MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"...
Voici ce que je dois faire: démarrer le processus A en arrière-plan attendez x secondes démarrer le processus B au premier plan Comment puis-je faire attendre? Je constate que le «sommeil» semble tout arrêter et je ne veux pas vraiment «attendre» que le processus A se termine complètement. J'ai vu...
J'ai une commande rsync avec les paramètres suivants: rsync -avz --{partial,stats,delete,exclude=".*"} Je veux mettre ces paramètres dans une variable pour la réutiliser ensuite dans le script. Quelque chose comme ça: #!/bin/bash VAR=rsync -avz --{partial,stats,delete,exclude=".*"} $VAR /dir1 /dir2...
Disons que j'ai une fonction bash comme ceci: gmx(){ echo "foo"; } cette fonction retournera-t-elle implicitement la valeur de sortie de la echocommande, ou l'utilisation de return est-elle nécessaire? gmx(){ echo "foo"; return $? } Je suppose que de la façon dont bash fonctionne, l'état de sortie...
Je cherche un moyen de faire en sorte que la chute se produise en fonction d'une condition if dans une condition de cas dans bash. Par exemple: input="foo" VAR="1" case $input in foo) if [ $VAR = "1" ]; then # perform fallthrough else # do not perform fallthrough fi ;; *) echo "fallthrough worked!"...
J'aime utiliser le format suivant dans les scripts pour les commandes avec beaucoup de paramètres (pour la lisibilité): docker run \ --rm \ -u root \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME":/home \ jenkinsci/blueocean Mais,...