bash4.3 # pwd
/bin
bash4.3 # ll sh
lrwxrwxrwx. 1 root root 4 May 17 22:22 sh -> bash
bash4.3 # ll bash
-rwxr-xr-x. 1 root root 1072056 May 17 22:22 bash
bash4.3 # bash
bash4.3 # sh
sh-4.3#
Mi sistema operativo es fedora 24 (versión predeterminada de GNOME).
Por el ejemplo, podemos saber: debajo /bin, bashes un ejecutable binario; shes un enlace suave a bash.
Entonces, que yo sepa, type bash and press enterdebería producir el mismo resultado exactamente como type sh and press enter.
Cuando yo type bash and press enter, me sale [root@localhost bin]#como se esperaba.
Sin embargo, si yo type sh and press enter, sorprendentemente lo entiendo sh-4.3#.
Cual es la causa

Respuestas:
Esa es una característica documentada.
Si ejecuta bash a través de un enlace simbólico llamado
sh, bash comenzará enshmodo de compatibilidad.De
man bash:¿Cómo sabe un programa qué nombre se usó para iniciarlo?
Si es un programa de CA, puede inspeccionar
argv[0]. Si es un script de shell o perl, puede inspeccionar$0.Como ejemplo, consideremos este simple script de shell:
$0es el nombre con el que se llamó al script.${0##*/}es el nombre al que se llamó el script con cualquier nombre de directorio eliminado.Creemos este enlace simbólico:
Entonces,
utcyetambos ejecutan el mismo ejecutable pero proporcionan resultados diferentes. Cuando se ejecuta comoutc, genera tiempo universal. Cuando se ejecuta comoet, se emite la hora del este de EE. UU. Por ejemplo:fuente
argv[0], obvs)