Oggi stavo leggendo attraverso la documentazione di set, quando mi sono reso conto che le mie bandiere variabili ( $-) conteneva una bandiera non documentato nella pagina di aiuto ( help set) e sul GNU.org : i.
Dopo qualche tempo sono riuscito a trovare questa pagina che afferma che ista per interattivo .
La prima cosa che ho provato, ovviamente, è stata spegnerlo.
Dopo l'esecuzione set +i, $-non conteneva più un i, ma a parte ciò, apparentemente tutto funzionava ancora come sempre.
Allo stesso modo, l'inserimento set -idi un file di script non ha avuto effetti evidenti durante l'esecuzione.
Quindi, la mia domanda: mettere set -i/ set +iin uno script o eseguirlo sulla riga di comando ha effettivamente effetti diversi dalla modifica della $-variabile?
set +isulla riga di comando (quando la shell è già in esecuzione) fa effettivamente qualcosa, a parte la modifica$-?