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.
La pagina man di Bash descrive l'uso di ${!a}per restituire il contenuto della variabile il cui nome è il contenuto di a(un livello di riferimento indiretto). Mi piacerebbe sapere come restituire tutti gli elementi in un array usando questo, cioè a=(one two three) echo ${a[*]} ritorna one two three Vorrei …
Sto essenzialmente cercando di assimilare determinate porzioni dell'output di un comando shell per mulitple variabili, ma non so come farlo. Per semplicità, supponiamo che il comando sulla shell, quando eseguito, venga stampato one two three four che può essere simulato con a echo "one two three four" (sebbene l'attuale comannd …
C'è qualche vantaggio / svantaggio di inizializzare il valore di una variabile bash nello script, prima del codice principale o delle variabili locali in una funzione prima di assegnare ad esso il valore effettivo? Devo fare qualcosa del genere: init() { name="" name=$1 } init "Mark" Esiste il rischio che …
Bash Manual dice: Quando viene utilizzato il [modulo, l'ultimo argomento del comando deve essere a]. $ type [ [ is a shell builtin $ type ] bash: type: ]: not found Quindi ]non è una parola riservata, né è un operatore, né è un comando incorporato. Come token, qual è …
Ho uno script bash che semplicemente docker invia un'immagine: docker push $CONTAINER_IMAGE:latest Voglio fare un ciclo per 3 volte quando questo non riesce. Come devo raggiungere questo obiettivo?
Voglio copiare un file da A a B, che potrebbe trovarsi su diversi filesystem. Ci sono alcuni requisiti aggiuntivi: La copia è tutto o niente, nessun file parziale o corrotto B è rimasto in posizione in caso di arresto anomalo; Non sovrascrivere un file esistente B; Non competere con un'esecuzione …
Hai bisogno di suggerimenti di esperti sul confronto di seguito: Segmento di codice tramite loop: for file in `cat large_file_list` do gzip -d $file done Segmento di codice mediante semplice espansione: gzip -d `cat large_file_list` Quale sarà più veloce? Devono manipolare un set di dati di grandi dimensioni.
Considera questo script: tmpfile=$(mktemp) cat <<EOS > "$tmpfile" line 1 line 2 line 3 EOS cat <(tail -1 "$tmpfile") "$tmpfile" Funziona e produce: line 3 line 1 line 2 line 3 Diciamo che la nostra fonte di input, anziché essere un vero file, era invece stdin: cat <<EOS | # …
Ho perso un paio d'ore nel tentativo di eseguire il server VNC (x0vncserver) e il client ha rifiutato di connettersi con un messaggio strano che No password configured for VNC Auth Il server stampa anche questo errore SVncAuth: opening password file '~/.vnc/passwd' failed Ok, ho perso molto tempo fino a …
Lavoro in un ambiente relativamente eterogeneo in cui potrei eseguire diverse versioni di Bash su diversi nodi HPC, VM o workstation personali. Dato che ho inserito i miei script di accesso in un repository Git, mi piacerebbe usare lo stesso (ish) .bashrcsu tutta la linea, senza un sacco di disordine …
Voglio sapere se esiste un modo per inserire la e commerciale in una variabile e comunque utilizzarla per inviare un processo in background. Questo funziona: BCKGRND=yes if [ "$BCKGRND" = "yes" ]; then sleep 5 & else sleep 5 fi Ma non sarebbe bello realizzare quelle cinque righe con una …
Voglio generare un elenco ordinato con tutti i numeri di 8 cifre - da 00000000 a 99999999. Ho digitato nella shell: f() { while IFS="" read -r line; do for i in {0..9}; do echo "$line$i"; done; done } echo | f | f | f | f | f …
Sto cercando di stampare due stringhe separate da una TAB. Ho provato: echo -e 'foo\tbar' printf '%s\t%s\n' foo bar Entrambi stampano: foo bar Dove lo spazio bianco tra i due è in realtà 5 spazi (secondo la selezione dell'output con il mouse in Putty). Ho anche provato a usare CTRL …
Sto lavorando a uno script e devo creare il tarcomando in modo dinamico. Ecco due esempi per illustrare cosa sto cercando di fare: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar …
L'ho digitato per errore ma bash non ha stampato alcun errore (ma ha creato un file vuoto) quindi ho pensato che forse in realtà significa qualcosa? (ad es. data |> tmp.txt)
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.