Risposte:
source
e .
sono anche sinonimi di Bash .
Per chiunque desideri verificare che i comandi siano semplicemente sinonimi e nient'altro, guarda il codice sorgente , indica la versione 4.3 ed esamina il file builtins/source.def
. Avrete letto che entrambi i comandi incorporati, source
e .
, utilizzare la funzione di stessa: source_builtin
.
.
è il comando sorgente tradizionale, ereditato dall'antica shell bourne. source
è solo un built-in bash che fa esattamente lo stesso .
, presumibilmente perché è più leggibile (un .
solo può essere difficile da individuare con un carattere piccolo). Vedrai help source
e help .
mostrerai le stesse informazioni.
man bash
e poi cerchi source
, vedrai che source filename [arguments]
è sinonimo di . filename [arguments]
.
.
è sinonimo di source
in bash, ma non in POSIX sh, quindi è necessario utilizzarlo .
se lo script è eseguito da / bin / sh. Nota che bash afferma di funzionare come POSIX sh quando viene chiamato come / bin / sh, ma accetta source
senza lamentele.
Questo comportamento mi ha morso, gli script testati con bash come / bin / sh falliscono quando vengono eseguiti sotto ash, per esempio.
#!/bin/sh
che non dovresti mai supporre che la shell supporti nient'altro che le funzionalità POSIX. pubs.opengroup.org/onlinepubs/9699919799/utilities/…