Risposte:
sourcee .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, sourcee ., 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 sourcee help .mostrerai le stesse informazioni.
man bashe poi cerchi source, vedrai che source filename [arguments]è sinonimo di . filename [arguments].
.è sinonimo di sourcein 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 sourcesenza lamentele.
Questo comportamento mi ha morso, gli script testati con bash come / bin / sh falliscono quando vengono eseguiti sotto ash, per esempio.
#!/bin/shche non dovresti mai supporre che la shell supporti nient'altro che le funzionalità POSIX. pubs.opengroup.org/onlinepubs/9699919799/utilities/…