Domande taggate «bash»

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.


1
Bash: reindirizza al file, crea sempre nuovo
In bash, un link di comando echo test > actual.txt sostituirà il contenuto del file chiamato actual.txtcon "test" e creerà il file se non esiste. Tuttavia, se il file esiste, bash lo aprirà, lo troncerà e scriverà i nuovi contenuti nel file. In particolare, il comando di reindirizzamento non riesce …

2
Ignora "nessuna corrispondenza"
Vorrei elencare tutti i file in una cartella chiamata foldernamecon estensione test, atestoppure btest. Il mio pensiero immediato fu di scappare ls ./foldername/*.{a,b,}test Funziona bene a meno che non ci sia nulla con l'estensione atest, nel qual caso ottengo l'errore zsh: no matches found: ./foldername/*.atest. C'è un modo in cui …

1
Perché uscire con un codice di ritorno memorizzato di un comando nidificato provoca diversi codici di ritorno in Dash e Bash?
In esecuzione bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' risulta test1essere stampato su console e echo $?stampare ciò 1che a mio avviso è corretto, perché il comando dovrebbe tornare con ciò [b/d]ash -cche è stato restituito dall'interno dash -c 'dash …

1
Bash RANDOM con semi?
Sto usando $((1 + RANDOM % 1000))per generare un numero casuale. È possibile fare qualcosa di simile ma fornire un seme? In modo che dato lo stesso seme verrà sempre prodotto lo stesso numero casuale?
8 bash  random 

4
Dividi stringa usando IFS
Ho scritto uno script di esempio per dividere la stringa ma non funziona come previsto #!/bin/bash IN="One-XX-X-17.0.0" IFS='-' read -r -a ADDR <<< "$IN" for i in "${ADDR[@]}"; do echo "Element:$i" done #split 17.0.0 into NUM IFS='.' read -a array <<<${ADDR[3]}; for element in "${array[@]}" do echo "Num:$element" done produzione …


3
Riferimento a variabili di array bash da un altro array
Voglio scrivere uno script per fare riferimento a più array da un altro array che contiene i nomi delle variabili di questi array. Ecco il mio codice finora: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in ${array_names[@]} do for b in ${a[@]} do echo $b done done Vorrei …

5
Alfabetizzare le parole nei nomi dei file usando sort?
Durante la lettura di esercitazioni su rinominare i file in batch in bash e usando il sortcomando per ordinare i contenuti dei file, non sono stato in grado di capire come combinare i due. Ho una directory i cui contenuti sono ordinati usando i tag all'interno del nome file, simile …
8 bash  rename  sort 

1
Creare la mia funzione cp in bash
Per un compito mi viene chiesto di scrivere abilmente una funzione bash che ha le stesse funzionalità di base della funzione cp(copia). Deve solo copiare un file in un altro, quindi non più file copiati in una nuova directory. Dato che sono nuovo nella lingua bash, non riesco a capire …



1
Bash Globbing non come previsto
Questa è una domanda a casa: Abbina tutti i nomi di file con 2 o più caratteri che iniziano con una lettera minuscola, ma non terminano con una lettera maiuscola. Non capisco perché la mia soluzione non funzioni. Quindi ho eseguito il seguito: touch aa touch ha touch ah touch …

3
Invia stdout e stderr a file, syslog e terminale
Per alcune macchine cloud che sto avviando, sto cercando di accedere a un file specifico, a syslog e al terminale / console. Nella parte superiore degli script di installazione / cloud-init della mia macchina, ho quanto segue: #!/bin/bash exec &> >(tee "/tmp/box-setup.log" | logger -t box-setup) apt-get install -y some-package …

2
Esegui mentre è vero nello script di systemd
Ho ottenuto uno script bash essenzialmente su questo: #!/bin/bash [...] while true; do str="broadcast "`randArrayElement "messages[@]"` server_send_message $str sleep $interval done Ora voglio eseguire questo come un servizio systemd, il mio script di servizio è simile al seguente: [Unit] Description=Announcer After=network.target [Service] ExecStart=/usr/local/bin/somescript &; disown ExecStop=/usr/bin/kill -9 `cat /tmp/somescript.pid` Type=forking …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.