Existe-t-il des méthodes pour vérifier ce que vous exécutez réellement à partir d'un script bash? Supposons que votre script bash appelle plusieurs commandes (par exemple: tar, mail, scp, mysqldump) et vous êtes prêt à vous assurer que tarle réel, réel tar, qui est déterminable par l' rootutilisateur étant le fichier …
J'utilise set -epour arrêter le script bash à la première erreur . Tout fonctionne bien sauf si j'utilise la commande avec &&: $ cat script set -e cd not_existing_dir && echo 123 echo "I'm running! =P" $ $ ./script ./script: line 2: cd: not_existing_dir: No such file or directory I'm …
Je suis assez nouveau dans les scripts Bash. J'ai un "script de test", que j'ai utilisé comme base pour un script plus avancé / utile: #!/bin/bash files=$1 for a in $files do echo "$a" done Lorsque j'appelle cela sans guillemets, il prend simplement un fichier dans un répertoire: testscript *.txt …
Dans le monde * nix, existe-t-il un moyen pour le script shell d'avoir des informations sur le programme qui l'a exécuté? Exemple: /path/to/script1 /path/to/script_xyz dans ce scénario imaginaire, script_xyzaurait des informations de chemin ( /path/to/script1) ou processus PID de l'entité qui l'a exécuté. Remarque: je suis curieux de connaître différentes …
J'ai un script qui génère une sortie. Je veux vérifier cette sortie pour toute adresse IP comme 159.143.23.12 134.12.178.131 124.143.12.132 if (IPs are found in <file>) then // bunch of actions // else // bunch of actions // C'est fgrepune bonne idée? J'ai bash disponible.
J'ai un fichier texte contenant un nom de fichier dans chaque ligne: 111_c4l5r120.png 123_c4l4r60.png 135_c4l4r180.png 147_c4l3r60.png 15_c4l1r120.png ... Je veux le convertir sous cette forme: 111_c4l5r120.png 111 123_c4l4r60.png 123 135_c4l4r180.png 135 147_c4l3r60.png 147 15_c4l1r120.png 15 ... en utilisant ce code: #!/bin/bash while IFS='' read -r line || [[ -n "$line" …
Fondamentalement, je veux "arracher" la première occurrence de -infla liste des paramètres. (Les paramètres restants seront transmis à une autre commande.) Le script que j'ai a la structure suivante: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi …
J'ai un script qui mesure la durée d'exécution d'une commande. Il a besoin de la "vraie" timecommande, ce qui signifie, un binaire par exemple dans /usr/bin/time(car le bash-built-in n'a pas le -fdrapeau). Ci-dessous, un script simplifié qui peut être débogué: #!/bin/bash TIMESEC=$(echo blah | ( /usr/bin/time -f %e grep blah …
J'ai un script bash qui utilise de set -o errexitsorte qu'en cas d'erreur, le script entier se termine au point d'échec. Le script exécute une curlcommande qui ne parvient pas parfois à récupérer le fichier prévu - cependant, lorsque cela se produit, le script ne quitte pas l'erreur. J'ai ajouté …
J'ai deux problèmes avec mon script qui copie des fichiers et ajoute un horodatage au nom. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%T") Ce qui précède ajoute Test2comme nom de fichier, mais je veux qu'il conserve le nom de fichier du fichier source d'origine qui, dans cet exemple, est nommé Test. cp …
J'avais l'habitude d'écrire mes scripts comme ceci: some_command while [ $? -ne 0 ] ; do sleep 1 some_command done Cela m'a toujours énervé de devoir écrire some_commanddeux fois. Puis-je le mettre d'une manière ou d'une autre dans la section de test de boucle?
Supposons que j'ai un fichier (appelez-le sample.txt) qui ressemble à ceci: Row1,10 Row2,20 Row3,30 Row4,40 Je veux pouvoir travailler sur un flux de ce fichier qui est essentiellement la combinaison par paire des quatre lignes (nous devrions donc nous retrouver avec 16 au total). Par exemple, je recherche une commande …
Par exemple, si j'ai un script ./foo qui prend 10 paramètres et que je veux seulement passer le 8ème paramètre. La seule façon dont je sais comment faire actuellement est: ./foo '' '' '' '' '' '' '' 'bar' Existe-t-il un moyen plus facile / meilleur?
Je sais que l'on peut échapper à un caractère spécial comme *(){}$avec \afin d'être considéré comme des littéraux. Par exemple \*ou\$ Mais dans le cas où .je dois le faire deux fois, comme \\.sinon, il est considéré comme un caractère spécial. Exemple: man gcc | grep \\. Pourquoi en est-il …
Je souhaite personnaliser la fonctionnalité de cdcommande selon mes besoins. J'ai défini la fonction suivante - function cd () { cd "$@" && pushd "$@"; } Le but de cette fonction est de pousser automatiquement le répertoire sur la pile afin qu'il me sauve l'effort de taper manuellement à pushd …
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.