![não consigo perceber o que há de errado com: $ echo ''date`'](https://rvso.com/image/109235/n%C3%A3o%20consigo%20perceber%20o%20que%20h%C3%A1%20de%20errado%20com%3A%20%24%20echo%20''date%60'.png)
O que acontece quando o seguinte comando é executado? Explique por que e como consertar:
$ echo ‘`date`’
Responder1
Eu estou supondo que você está correndo
echo '`date`'
(observe as aspas simples retas) e esperando ver date
a saída de. O shell nunca expande strings entre aspas simples; você deve usar aspas duplas:
echo "`date`"
ou simplesmente solte-os
echo `date`
Tudo isso equivale a
date
porém, além da divisão e globbing da casca (como apontado porStéphane Chazelas), que recolherá os espaços em branco por padrão.
Responder2
Conforme postado, as aspas externas são caracteres Unicode U+2018 e U+2019. Estas NÃO são aspas simples regulares e não têm nenhum significado especial para o shell e são simplesmente repetidas:
$ echo ‘`date`’
‘Fri Apr 7 19:55:15 EEST 2017’
$
Dentro dessas aspas estão crases para substituição de comando shell. O date
comando é executado e a saída capturada substitui a date
string.