Rispondere a questa domanda mi ha portato a porre un'altra domanda: ho pensato che i seguenti script facessero la stessa cosa e il secondo dovrebbe essere molto più veloce, perché il primo usa catche deve aprire il file più e più volte ma il secondo apre solo il file una …
Supponiamo di voler eliminare tutti i file in una cartella superiore a 1 MB. $ find . -size +1M | xargs -0 rm Ciò non eliminerà i file che hanno spazio nei loro nomi. Quindi voglio che citi tutti gli argomenti a cui invia rm. Se lo finddà Some report.docxdovrebbe …
Se ho una directory contenente alcuni file i cui nomi hanno spazi, ad es $ ls -1 dir1 file 1 file 2 file 3 Posso copiarli con successo in un'altra directory come questa: $ find dir1 -mindepth 1 -exec cp -t dir2 {} + Tuttavia, l'output di find dir1 -mindepth …
Ho visto le guide di scripting di Bash che suggeriscono l'uso dell'array per lavorare con nomi di file contenenti spazi bianchi. DashAsBinSh suggerisce tuttavia che gli array non sono portatili, quindi sto cercando un modo conforme a POSIX di lavorare con elenchi di nomi di file che possono contenere spazi …
Come posso grep per la riga che contiene il carattere pipe |o per il personaggio >: files content: |this is test where is > this is none ora quello che mi serve usando il comando grep è grep -iE "<some expression>" file_name Produzione: |this is test where is >
In Bash, quando si specificano gli argomenti della riga di comando per un comando, quali caratteri devono essere sottoposti a escape? Sono limitato ai metacaratteri di Bash: spazio, tab, |, &, ;, (, ), <, e >?
Mi rendo conto che !ha un significato speciale sulla riga di comando nel contesto della cronologia della riga di comando, ma a parte questo, in uno script corrente il punto esclamativo può talvolta causare un errore di analisi. Penso che abbia qualcosa a che fare con un event, ma non …
Informazioni di sistema OS: OS X bash: GNU bash, versione 3.2.57 (1) -release (x86_64-apple-darwin16) sfondo Voglio che la macchina del tempo escluda un set di directory e file da tutto il mio progetto git / nodejs. Le mie directory di progetto sono presenti ~/code/private/e ~/code/public/quindi sto cercando di usare il …
Molte domande come "Come digitare il carattere con virgolette doppie (")? " ci viene chiesto e non vogliamo ingombrare la nostra comunità con la stessa risposta (digitala come \"se non fosse racchiusa tra 's, "se racchiusa tra 's.) Quindi, la domanda è qui. Non è possibile digitare caratteri speciali in …
Come posso usare una variabile - $BASEnel mio cd. Ho provato quanto segue ma ho ricevuto un errore $ cd ~/z/repo_1_ruby_193/ 23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ BASE="~/z" 23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ cd $BASE/repo_1_ruby_193 -bash: cd: ~/z/repo_1_ruby_193: No such file or directory 23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193
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ì?
~$ echo $(ls) arguments.txt cecho.sh Desktop Documents Downloads example.txt Music Pictures Public ~$ echo $(ls "*.txt") ls: cannot access *.txt: No such file or directory Perché il secondo comando subshell fallisce?
Ho un'applicazione wrapper in cui devo consentire all'utente di specificare opzioni personalizzate da passare a un simulatore. Tuttavia, voglio assicurarmi che l'utente non immetta altri comandi attraverso le opzioni utente. Qual è il modo migliore per raggiungere questo obiettivo? Per esempio. L'utente fornisce: -a -b L'applicazione esegue: mysim --preset_opt -a …
Supponiamo che devo usare le virgolette per incapsulare l'output della subshell come: DATA="$(cat file.hex | xxd -r)" Ma ho bisogno di nidificare questo tipo di cose come: DATA="$(cat file.hex | xxd -r | tr -d \"$(cat trim.txt)\")" Non posso usare le virgolette singole perché quelle non espandono le variabili che …
Ho un problema nell'esecuzione del mio script. Quando lo eseguo in modalità debug (bash -x), vedo che bash sta aggiungendo virgolette extra. Pertanto la mia sceneggiatura non riesce. Questo è nel mio copione: testvar="\"sudo /home/pi/shared/blink.sh 27 off\"" ssh -n -q -q -o BatchMode=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 $1 …
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.