Domande specifiche per GNU Bourne Again SHell, al contrario di altre shell Bourne / POSIX. Per domande sulle shell Unix in generale, utilizzare invece il tag / shell.
Lo so naturalmente cat logfile.txt | wc -l 120 mi dirà il numero di righe in un file. Mentre tail -f logfile.txt mi mostrerà le nuove righe in cui scrive un altro programma logfile.txt. È possibile combinare entrambi in modo da ottenere un conteggio di riga di aggiornamento continuo di …
Nello scripting della shell Bash, qual è la differenza (se presente) tra le seguenti due affermazioni? 1.) if [ -z "$1" ] 2.) if [ "$1" = "" ] Mi sono ritrovato a scrivere il secondo in alcuni script, ma poi ho letto qui che l'uso -zraggiunge la stessa cosa. …
In Advanced Bash-Scripting Guide , nell'esempio 27-4 , 7 ° riga dal basso, ho letto questo: Una funzione viene eseguita come processo secondario. Ho fatto un test su Bash e sembra che la frase sopra sia sbagliata. Le ricerche su questo sito, Bash Man e il mio motore di ricerca …
La domanda riguarda le variabili speciali. La documentazione dice: !!:$ indica l' ultimo argomento del comando precedente . Questo può essere abbreviato in! $. ( $_, un trattino basso). All'avvio della shell, impostare sul percorso assoluto usato per invocare la shell o lo script della shell in esecuzione come passato …
Voglio convertire tutto * .flac in * .mp3 nella cartella specifica. Questo è quello che ho provato, ma non funziona: # change to the home directory cd ~/music # convert all *.flac files ffmpeg -i *.flac -acodec libmp3lame *.mp3 # (optional: check whether there are any errors printed on the …
Quello che voglio ottenere è poter registrare le mie sessioni del terminale su file automaticamente ogni volta che uso Yakuake / Konsole. È facile da ottenere se all'inizio della mia sessione faccio: script -f /home/$USER/bin/shell_logs/$(date +"%d-%b-%y_%H-%M-%S")_shell.log Ma voglio eseguire automaticamente quanto sopra ogni volta che avvio Yakuake o apro una …
NOTA: questa domanda è il complemento di queste domande e risposte: come "grep" per la lunghezza della linea * non * in un determinato intervallo? Devo ottenere solo le righe da un file di testo (un elenco di parole, separato da una nuova riga) che ha un intervallo di lunghezza …
Leggi che per confrontare le stringhe all'interno ifdobbiamo usare parentesi quadre doppie. Alcuni libri dicono che il confronto può essere fatto da =. Ma funziona anche con questo ==. #!/bin/bash a="hello" b="world" if [[ $a == $b ]];then echo "equal" fi C'è una differenza tra =e ==nel confronto?
Questa domanda è stata migrata dallo Stack Overflow perché è possibile rispondere a Exchange Stack Unix e Linux. Migrato 6 anni fa . Voglio eseguire uno script quando collego un dispositivo nella mia macchina Linux. Ad esempio, esegui con xinputil mouse o uno script di backup su una determinata unità. …
Quando si esegue il ciclo tra i file ci sono due modi: usa un for-loop: for f in *; do echo "$f" done usare find: find * -prune | while read f; do echo "$f" done Supponendo che questi due loop troveranno lo stesso elenco di file, quali sono le …
So cos'è un whileloop. Tuttavia, l'ho visto funzionare solo con: while [condition] while ![condition] while TRUE (infinite loop) Dove la dichiarazione dopo whiledeve essere TRUEo FALSE. C'è un comando incorporato della shell chiamato :. È descritto come un comando fittizio che non fa nulla, ma non so se sia lo …
Sto osservando un comportamento strano quando si usa set -e( errexit), set -u( nounset) insieme alle trappole ERR ed EXIT. Sembrano collegati, quindi metterli in una domanda sembra ragionevole. 1) set -unon attiva trappole ERR Codice: #!/bin/bash trap 'echo "ERR (rc: $?)"' ERR set -u echo ${UNSET_VAR} Previsto: viene chiamata …
Devo verificare la lunghezza della variabile letta (il mio script ha un limite di cinque caratteri inseriti), penso a qualcosa del genere: #!/bin/bash read string check=${#string} echo $check if [ $check -ge 5 ]; then echo "error" ; exit else echo "done" fi esiste una soluzione più "elegante"?
Sono perplesso. Ho uno script nella mia /homedirectory che è eseguibile: [user@server ~]$ ll total 4 -rwx------ 1 user user 2608 Jul 15 18:23 qa.sh Tuttavia, quando provo a eseguirlo sudo, dice che non riesce a trovarlo: [user@server ~]$ sudo ./qa.sh [sudo] password for user: sudo: unable to execute ./qa.sh: …
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.