Hace poco aprendí que
. ./.a.aY ./.a.aes lo mismo.
Sin embargo, intentar source source .a.ada un error. En mi opinión, .ser alias de Bash sourceno debería comportarse de manera diferente, entonces, ¿qué me estoy perdiendo?
Bono, ¿por qué está . .bien mientras source sourceque no?

. scripty./scriptson la misma cosa? Ciertamente no lo son . Además,.no es un alias parasource. Es al revés..es el estándar ysourcees un alias de...comando, pero quiero decir quesourcees un comando mejor, cuando vessource somefileen un script sabes de inmediato qué hace esa declaración, pero. somefileno solo no es obvio lo que hace, puedes perder fácilmente al.personaje por completobash: .: .: is a directoryen. .es ok necesidades deben ser explicadas.. ./.a.a .ser honesto. : -DA cuestionario de algún tipo, si quieres. :-) Pregunta vinculada es increíble, muchas gracias. Lo que me dio esa idea: el hecho de que no había visto ninguna diferencia en la ejecución de archivos de esta manera y el hecho de que leí en alguna parte.es un aliassource. :-)Respuestas:
No se puede reemplazar
.porsourcetodas partes; Sifunciona, puede reemplazar el primero
.(al menos en Bash):El segundo
.representa el directorio actual, no puede reemplazarlo consource(especialmente no./consourcelo que ha hecho).estaría bien si tuviera un archivo llamado
sourceen el directorio actual, que contiene algo significativo para su shell actual. No puedo ver cómo. .estaría bien ...Además,
. ./.a.ay./.a.ano son lo mismo, la segunda forma se ejecuta.a.aen un shell separado. Consulte ¿Cuál es la diferencia entre el abastecimiento ('.' O 'fuente') y la ejecución de un archivo en bash? para detalles.fuente
sourcees una palabra clave de shell que se supone que debe usarse así:sourcefiledondefilecontiene comandos de shell válidos. Estos comandos de shell se ejecutarán en el shell actual como si estuvieran escritos desde la línea de comandos. Ahora,.filehace exactamente lo mismo.Más allá de eso
.solo significa "el directorio de trabajo actual" como en./xyz("xyzen este directorio") oa/b/./c/./d(que es idéntico aa/b/c/d).Más allá de eso,
.un nombre de archivo tiene un significado solo por convención, ya.foobarque indica un archivo "oculto" (no realmente ...) o como enfoobar.pdf, que indica un formato de archivo con el sufijo (aquí.pdf).Estos significados diferentes no pueden intercambiarse.
fuente
.De ninguna manera está desactualizado. A diferencia desourcela manera portátil, definida por POSIX , de obtener un archivo. Elsourcealias es específico del shell y puede estar ausente (por ejemplo, endash) o comportarse de manera diferente al estándar..