GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzare $[ Espr ] invece di $(( Espr ))?

Nel paragrafo che spiega l'espansione aritmetica, la guida per l'utente di Bash scopre 2 diversi modi di valutare un'espressione, il primo utilizza $(( EXPRESSION )) e il secondo usa $[ EXPRESSION ] . I due modi sembrano abbastanza simili poiché l'unica differenza che ho trovato è:

$[ EXPRESSION ] calcolerà solo il risultato di EXPRESSION e non eseguirà test:

Tuttavia, sono incuriosito perché lo stesso documento consiglia di utilizzare $[ EXPRESSION ] anziché $(( EXPRESSION )) .

Ove possibile, gli utenti di Bash dovrebbero provare a utilizzare la sintassi tra parentesi quadre:

Perché dovresti volerlo se vengono eseguiti meno test?

Risposta accettata:

Domanda duplicata (con risposta)

https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression

La manpage per bash v3.2.48 dice:

[…] Il formato per l'espansione aritmetica è:

 $((expression)) 

Il vecchio formato $[espressione] è obsoleto e verrà rimosso nelle prossime versioni di bash.

Quindi $[…] è una vecchia sintassi che non dovrebbe più essere utilizzata

Oltre a quella risposta:

http://manual.cream.org/index.cgi/bash.1#27

Informazioni relative alle versioni bash:

Ecco alcune informazioni sulle pagine man di bash (è difficile trovare informazioni su a quale versione si riferisce ciascuna):

Link OP:

http://www.tldp.org/guides.html Bash Guide for Beginners
versione:1.11
autore:Machtelt Garrels,
ultimo aggiornamento:dicembre 2008

sth (74.6k rep) citando bash v3.2.48

da https://stackoverflow.com/questions/2415724/bash-arithmetic-expression-vs-arithmetic-expression)

Nota:maggiori informazioni su [] vs (()) qui:http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00033.html

un link che ho trovato:

http://www.gnu.org/software/bash/manual/ ultimo aggiornamento 22 agosto 2012

http://www.gnu.org/software/bash/manual/bash.html#Espansione aritmetica


Linux
  1. Perché non posso usare Cd in uno script Bash??

  2. Parentesi nell'aritmetica espr:3 * (2 + 1)?

  3. Quale shell dovrei usare:Tcsh Vs Bash??

  4. come usare kill SIGUSR2 in bash?

  5. Come analizzare le intestazioni HTTP usando Bash?

Usa questo utile script Bash quando osservi le stelle

Non ami il differenziale? Usa invece Meld

Funzione Bash e come usarla {Variabili, argomenti, ritorno}

Come utilizzare il comando di lettura Bash

Linux vs Mac OS:15 motivi per utilizzare Linux invece di Mac OS

Cos'è Zsh? Dovresti usarlo?