Как правильно избежать переменной bash для правильного расширения в HTML?
У меня есть этот кусок кода для добавления ссылки на index.html в каталоге на основе отметки времени. $(tstampm)
это функция, которая генерирует метку времени.
export tstampm=$(tstampm)
echo 'output from sysuser database - <a href="sysuser/model01-$tstampm"</a> <br />' >> /home/sysuser/docs/dbmodels/index.html
Кавычки в href предотвращают расширение переменной bash. Каков правильный синтаксис для его расширения?
Обратите внимание, что двойные кавычки для href
заключены в одинарные кавычки для echo
Сама команда
2 ответа
Решение
Переменные раскрываются в двойных кавычках, они не раскрываются в одинарных кавычках.
echo "output from sysuser database - <a href='sysuser/model01-$tstampm'></a> <br />" >> /home/sysuser/docs/dbmodels/index.html
Вы также пропустили закрытие >
из <a>
тег. И вы, вероятно, хотите что-то между <a>
а также </a>
, так что будет на что нажимать.
Как говорит @Bramar, и вы можете напрямую позвонить tmstamp
как я называю дату в следующем примере:
echo "output from sysuser database - <a href=\"sysuser/model01-$(date +%s)\">some text</a> <br />"
производит
output from sysuser database - <a href="sysuser/model01-1410439138">some text</a> <br />