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.
Di solito usiamo $@per rappresentare tutti gli argomenti tranne $ 0. Tuttavia, non so quale sia la struttura dei dati $@. Perché si comporta diversamente $*quando si include tra virgolette doppie, qualcuno potrebbe darmi una spiegazione a livello di interprete? Può essere ripetuto per il ciclo, quindi sembra essere un …
Ho un file in $ HOME / bin (prima che tu lo chieda, sì, è nel mio percorso) chiamato testche ho confermato può essere eseguito bene quando lo eseguo con il percorso completo del file. Tuttavia, ho un problema davvero strano quando non lo eseguo in questo modo. Quando corro …
Quando si dereferenzia una variabile in bash, è necessario utilizzare il $segno. Tuttavia, sembra che quanto segue funzioni bene: x=5 [[ x -gt 2 ]] Qualcuno può spiegarlo? Modifica: (maggiori informazioni) Quello che voglio dire è come e perché il comando [[]] sta dereferenziando la mia variabile x senza il …
Supponiamo di aver dichiarato le seguenti variabili: $ var='$test' $ test="my string" Se stampo il loro contenuto vedo quanto segue: $ echo $var $test $ echo $test my string Vorrei trovare un modo per stampare il contenuto del contenuto $var(che è il contenuto di $test). Quindi ho provato a fare …
Sto installando un enorme programma, che ha le sue risorse come rpmfile. Si è bloccato sulla linea di #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] Apparentemente, shlavora bashcon Red Hat Linux con questa sintassi, ma dà l'errore di unexpected operatorUbuntu. Non posso cambiare lo script in …
Sto scrivendo uno script RSS di Horoscope come introduzione al progetto Unix / Linux e ho riscontrato un problema che il mio professore non è riuscito a risolvere nel tempo in cui sono stato in grado di rimanere dopo le lezioni. Dal momento che non riuscivo a capire come usare …
La mia domanda viene da Come l'archiviazione dell'espressione regolare in una variabile di shell evita problemi con la citazione di caratteri speciali per la shell? . Perché c'è un errore: $ [[ $a = a|b ]] bash: syntax error in conditional expression: unexpected token `|' bash: syntax error near `|b' …
Voglio eseguire alcuni comandi in parallelo. Al termine di tutti questi comandi, avvia il successivo. Penso che il seguente approccio funzionerà #!/bin/bash command1 & command2 & command3 && command4 ma non lo fece. Devo eseguire command4quando tutti i primi tre comandi sono stati completamente completati.
Uso sempre Ctrl+ R, ma finisco spesso per andare oltre il comando che sto cercando perché lo premo così rapidamente. Per inoltrare ricerca, Ctrl+ Spuò essere utilizzato a condizione che non viene utilizzato il terminale prima (Konsole nel mio caso, in cui stty -ixonin ~/.bashrccorrezioni it). Tuttavia, devo premerlo due …
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 …
Quindi se ho una variabile VAR='10 20 30 40 50 60 70 80 90 100' ed echo echo "$VAR" 10 20 30 40 50 60 70 80 90 100 Tuttavia, più in basso nello script ho bisogno di invertire l'ordine di questa variabile in modo che mostri qualcosa di simile …
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 …
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.