Esistono metodi per verificare ciò che si sta effettivamente eseguendo da uno script bash? Di 'la tua script bash sta chiamando diversi comandi (per esempio: tar, mail, scp, mysqldump) e si è disposti a fare in modo che tarsia il reale, vero tar, che è determinabile dal rootutente ne sia …
Uso set -eper interrompere lo script bash al primo errore . Tutto funziona bene a meno che non utilizzi il comando con &&: $ 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 …
Sono abbastanza nuovo negli script di Bash. Ho un "testscript", che ho usato come base per uno script più avanzato / utile: #!/bin/bash files=$1 for a in $files do echo "$a" done Quando lo chiamo senza virgolette, prende solo un file in una directory: testscript *.txt Ma quando lo chiamo …
Nel mondo * nix, c'è un modo per lo script di shell di avere informazioni su quale programma lo ha eseguito? Esempio: /path/to/script1 /path/to/script_xyz in questo scenario immaginario, script_xyzavrebbe informazioni sul percorso ( /path/to/script1) o PID di processo di entità che l'hanno eseguita. Nota: sono curioso di conoscere soluzioni e …
Ho uno script che genera un output. Voglio controllare quell'output per qualsiasi indirizzo IP simile 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 // È fgrepuna buona idea? Ho bash disponibile.
Ho un file di testo contenente un nome file in ogni riga: 111_c4l5r120.png 123_c4l4r60.png 135_c4l4r180.png 147_c4l3r60.png 15_c4l1r120.png ... Voglio convertirlo in questa forma: 111_c4l5r120.png 111 123_c4l4r60.png 123 135_c4l4r180.png 135 147_c4l3r60.png 147 15_c4l1r120.png 15 ... usando questo codice: #!/bin/bash while IFS='' read -r line || [[ -n "$line" ]]; do echo …
Fondamentalmente, voglio "cogliere" la prima occorrenza -infdall'elenco dei parametri. (I restanti parametri verranno passati a un comando diverso.) Lo script che ho ha la seguente struttura: #!/bin/sh <CODE> for POSITIONAL_PARAM in "$@" do <CODE> if [ "$POSITIONAL_PARAM" = '-inf' ] then <PLUCK $POSITIONAL_PARAM FROM $@> break fi <CODE> done <CODE> …
Ho uno script che misura per quanto tempo viene eseguito un comando. Ha bisogno del timecomando "reale" , vale a dire un binario per esempio in /usr/bin/time(poiché il built-in bash non ha il -fflag). Di seguito, uno script semplificato che può essere eseguito il debug: #!/bin/bash TIMESEC=$(echo blah | ( …
Ho uno script bash che usa in set -o errexitmodo tale che per errore l'intero script esca nel punto di errore. Lo script esegue un curlcomando che a volte non riesce a recuperare il file previsto, tuttavia quando ciò si verifica lo script non esce. Ho aggiunto un forloop a …
Ho due problemi con il mio script che copia i file e aggiunge un timestamp al nome. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%T") Quanto sopra viene aggiunto Test2come nome file, ma voglio che mantenga il nome del file del file di origine originale che in questo esempio è denominato Test. cp …
Scrivevo i miei script in questo modo: some_command while [ $? -ne 0 ] ; do sleep 1 some_command done Mi ha sempre infastidito il fatto che devo scrivere some_commanddue volte. Posso metterlo in qualche modo nella sezione test del loop?
Supponiamo che io abbia un file (chiamalo sample.txt) che assomiglia a questo: Row1,10 Row2,20 Row3,30 Row4,40 Voglio essere in grado di lavorare su un flusso da questo file che è essenzialmente la combinazione a coppie di tutte e quattro le righe (quindi dovremmo finire con 16 in totale). Ad esempio, …
Ad esempio, se ho uno script ./foo che accetta 10 parametri e voglio solo passare l'ottavo parametro. L'unico modo per sapere come farlo attualmente è: ./foo '' '' '' '' '' '' '' 'bar' C'è un modo più semplice / migliore?
So che siamo in grado di sfuggire a un carattere speciale come *(){}$con \in modo da essere letterali considerati. Ad esempio \*o\$ Ma in caso di .devo farlo due volte, come \\.altrimenti è considerato un personaggio speciale. Esempio: man gcc | grep \\. Perché è così?
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.