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.
Creo un file con campi delimitati da tabulazioni. echo foo$'\t'bar$'\t'baz$'\n'foo$'\t'bar$'\t'baz > input Ho il seguente script chiamato zsh.sh #!/usr/bin/env zsh while read line; do <<<$line cut -f 2 done < "$1" L'ho provato. $ ./zsh.sh input bar bar Funziona benissimo. Tuttavia, quando cambio invece la prima riga per invocare bash, …
Ho visto costrutti in script come questo: if somevar="$(somecommand 2>/dev/null)"; then ... fi Questo è documentato da qualche parte? Come viene determinato lo stato di ritorno di una variabile e come si collega alla sostituzione dei comandi? (Ad esempio, otterrei lo stesso risultato con if echo "$(somecommand 2>/dev/null)"; then?)
Nella Bashshell, posso ottenere il comando exit status tramite la $?variabile: # ps -ef | grep "haha" root 15439 15345 0 23:02 pts/0 00:00:00 grep --color=auto haha # echo $? 0 È disponibile solo nella shell Bash? O posso usarlo anche in altre shell?
Attualmente lo uso per visualizzare l'ora corrente nel mio prompt di bash: PS1=\[\e[0;32m\]\t \W>\[\e[1;37m\] 20:42:23 ~> È possibile visualizzare il tempo trascorso dal prompt precedente? Ad esempio: 00:00:00 ~> sleep 10 00:00:10 ~> sleep 20 00:00:20 ~> Questo non ha nulla in comune con È possibile cambiare periodicamente la PS1 …
Perché usando bash e sospendendo un ciclo while, il ciclo si interrompe dopo essere stato ripreso? Breve esempio di seguito. $ while true; do echo .; sleep 1; done . . ^Z [1]+ Stopped sleep 1 $ fg sleep 1 $ Ho familiarità con i segnali e immagino che questo …
Vorrei eseguire un comando ogni 10 secondi e farlo eseguire in background (eliminando così watch?). Tutte le risposte mostrano qualcosa di simile al seguente, ma questo verrà eseguito da 11 a 14 secondi. Come può essere realizzato? while true; do # perform command that takes between 1 and 4 seconds …
Voglio ~~indicare una directory diversa in modo da poterla utilizzare come scorciatoia. Voglio che abbia esattamente le stesse funzionalità di ~. Come posso fare questo?
Stavo cercando di creare uno script bash molto semplice per elencare tutti i multipli di cinque tra 375 e 3500 (375, 380, 385 ...). Una cosa che ho provato e non ha funzionato è: for i in {375..3500} do echo $i (($i += 5)) done Mi sono arreso dopo un …
L'esempio seguente spiega il problema. Perché la FILENAMEstampa viene eseguita correttamente quando viene ripetuta e percepita come uno schema quando si utilizza la sostituzione? #!/bin/bash FILEPATH_WITH_GLOB="/home/user/file_*" FILENAME=$(basename "$FILEPATH_WITH_GLOB") echo $FILENAME #file_1234 echo ${FILENAME:1:5} #ile_* <---why is this not ile_1
In uno script bash su cui sto lavorando (che deve essere eseguito su Ubuntu e OS X), devo reindirizzare l'output di centinaia di comandi su un file. Piuttosto che aggiungere &>...a tutti loro, lo faccio semplicemente exec 9>&1 exec 5<>/tmp/some-file.txt exec 1>&5 Fin qui tutto bene, ma a metà di …
Diciamo che ho un comando git branch(sempre con un paio di parole) per esempio. Quello che voglio è tenere traccia di quando questo comando viene eseguito con argomenti. Ad esempio, se eseguo il comando git branch developsenza errori, voglio salvare developsu un file. Ho provato a sovrascrivere il comando git …
Uso spesso ctrl+cper copiare il testo da qualche applicazione gui e quindi incollarlo nel mio emulatore di terminale (terminatore), usando il tasto destro del mouse e incollare. A volte dimentico che gli Appunti contengono diverse righe, che una volta incollate in bash fanno sì che ogni riga venga "eseguita" Esiste …
Sto cercando di generare un elenco di utenti con un set di directory home che non esiste. Sembra che dovrei essere in grado di farlo con awk, ma qualcosa non va nella mia sintassi. Continua a dirmi "Sintassi non valida" in]. Che cosa sto facendo di sbagliato? awk -F: '{ …
Vorrei usare la sostituzione variabile su una particolare stringa a cui accedo tramite un comando. Ad esempio, se copio qualcosa negli appunti, posso accedervi in questo modo. $ xclip -o -selection clipboard Here's a string I just copied. Se lo assegno a una variabile, allora posso fare la sostituzione della …
Ho bisogno di eseguire uno script eseguendo il piping bashcon wget(anziché eseguirlo direttamente con bash). $ wget -O - http://example.com/my-script.sh | bash Non funziona perché la mia sceneggiatura contiene delle readdichiarazioni. Per qualche motivo questi non funzionano quando si esegue il piping per bash: # Piping to bash works in …
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.