Переменная Bash в HTML

Для списка всех файлов запускаются с числа в каталоге,

find . -maxdepth 1 -regextype "posix-egrep" -regex '.*/[0-9]+.*\.mp3' -type f

Проблема с Вашим подходом состоит в том что find возвращает относительный путь файла, и Вы просто ожидаете само имя файла.

1
28.05.2013, 00:44
2 ответа

Существует причина обе одинарных кавычки ' и двойные кавычки " существовать. Параметры расширены в двойных кавычках, но не в одинарных кавычках.

echo "<a href=\"/path/to/dir/$i\">$i</a>" >> /var/www/index.html
3
27.01.2020, 23:21

Проблема состоит в том, что у Вас есть одинарные кавычки, переносящие переменные. Вы - переменные, считаются литералами при обертывании отделенными кавычками. Попытайтесь переключить их на двойные кавычки вместо этого.

Также необходимо удалить задние галочки вокруг "эха...". Они должностное лицо подоболочка, которая дает Вам эту ошибку:

a: line 5: <a href="/path/to/dir/file1">file1</a>: No such file or directory

a: line 5: <a href="/path/to/dir/file2">file2</a>: No such file or directory

Этот сценарий делает то, в чем Вы нуждаетесь:

#!/bin/bash
list_dir=`ls -t /path/to/dir/`
for i in $list_dir
do
echo "<a href=\"/path/to/dir/$i\">$i</a>" >> /var/www/index.html
done
1
27.01.2020, 23:21

Теги

Похожие вопросы