![No puedo darme cuenta de lo que está mal con: $ echo '`date`'](https://rvso.com/image/109235/No%20puedo%20darme%20cuenta%20de%20lo%20que%20est%C3%A1%20mal%20con%3A%20%24%20echo%20'%60date%60'.png)
¿Qué sucede cuando se ejecuta el siguiente comando? Explique por qué y cómo solucionarlo:
$ echo ‘`date`’
Respuesta1
Supongo que estás corriendo
echo '`date`'
(tenga en cuenta las comillas simples) y esperando ver date
el resultado. El shell nunca expande cadenas entre comillas simples; deberías usar comillas dobles en su lugar:
echo "`date`"
o simplemente déjalos
echo `date`
Todo esto equivale a
date
Sin embargo, aparte de la división del caparazón y la formación de globos (como lo señalaStéphane Chazelas), que colapsará los espacios en blanco de forma predeterminada.
Respuesta2
Como se publicó, las comillas exteriores son caracteres Unicode U+2018 y U+2019. Estas NO son comillas simples regulares y no tienen ningún significado especial y simplemente se repiten:
$ echo ‘`date`’
‘Fri Apr 7 19:55:15 EEST 2017’
$
Dentro de estas comillas hay comillas invertidas para la sustitución de comandos de shell. El date
comando se ejecuta y la salida capturada reemplaza la date
cadena.