Domande taggate «shell-script»

Domande su script di shell, file eseguibili interpretati da una shell (bash, zsh, ecc.).

4
dirname e basename vs espansione dei parametri
C'è qualche motivo oggettivo per preferire una forma all'altra? Prestazioni, affidabilità, portabilità? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" produce: /some/long/path/to /some/long/path/to a_file a_file (v1 utilizza l'espansione dei parametri della shell, v2 utilizza i binari esterni.)


3
Cosa significa $ {1: 0: 2} in questo contesto?
Sto esaminando il codice visualizzato di seguito e controlla l'input se gli argomenti riga / colonna iniziano con -ro -c. Cosa ${1:0:2}significa in questo contesto? rowArgName="-r" colArgName="-c" if [ "${1:0:2}" != $rowArgName ] && [ "${1:0:2}" != $colArgName ] then echo $correctCmdMsg >&2 exit 1 fi


2
Come fare senza ricorsivo
Sto provando a ls alcuni file con uno schema in una directory. Voglio solo scansionare il primo livello non ricorsivo. La mia sceneggiatura: for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*) do echo $i; done Sopra il comando scansiona ricorsivamente. Come si può fare solo per scansionare la directory di primo livello?
19 bash  shell-script  ls 

9
Verifica se sono impostate più variabili
Vorrei assicurarmi che a un certo punto di uno script, dopo aver sourceinserito un file di configurazione, siano impostate diverse variabili e, in caso contrario, interrompere l'esecuzione, informando l'utente della variabile mancante. Ho provato for var in $one $two $three ; do ... ma se ad esempio $twonon è impostato, …

8
Evitare l'attesa occupata in bash, senza il comando sleep
So di poter aspettare che una condizione si avveri in bash facendo: while true; do test_condition && break sleep 1 done Ma crea 1 sottoprocesso ad ogni iterazione (sleep). Potrei evitarli facendo: while true; do test_condition && break done Ma utilizza molta CPU (attesa in attesa). Per evitare sottoprocessi e …




4
È un approccio sano per "eseguire il backup" della variabile $ IFS?
Sono sempre davvero riluttante a scherzare $IFSperché sta bloccando un globale. Ma spesso rende il caricamento delle stringhe in un array bash piacevole e conciso, e per gli script bash è difficile trovare concisione. Quindi immagino che potrebbe essere meglio di niente se provo a "salvare" il contenuto iniziale $IFSin …





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.