Вывод HTML-кода в текстовый файл

resetне встроен в bash. Он должен работать так же в bash, dash, kshи т. д. Альтернативой ему является tput reset.

Но

a )ни reset, ни tputотсутствуют в андроиде, и

b )jackpal.androidterm, похоже, не поддерживает какой-либо выход при сбросе, например xtermи т. д.

Возможно, я ошибаюсь в последнем утверждении --, но единственный способ, которым я когда-либо мог сбросить его, был с помощью команды меню «Сбросить срок».

0
12.05.2020, 06:49
3 ответа

Используйте одинарную кавычку, так как bash интерпретирует !как специальный символ

Кроме того, используйте -eс echo, чтобы символы обратной косой черты интерпретировались как \n

echo -e '<html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>' > index.html
1
28.04.2021, 23:14

Вы можете решить эту проблему, используя одинарные кавычки вместо двойных -кавычек. Итак, это должно работать так, как ожидалось-

echo '<!DOCTYPE html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>' > index.html

Когда вы используете одинарные кавычки, bash не пытается интерпретировать специальные символы и просто сохраняет буквальную строку.

0
28.04.2021, 23:14

Вы запускаете расширение истории в bashс помощью !. Либо отключите расширение истории с помощью set +H, либо используйте строку в одинарных кавычках, либо используйте документ здесь -для написания HTML-кода :

.
$ cat <<'END_HTML' >index.html
<!DOCTYPE html>
<html>
        <body>
                <h1>Hello World!</h1>
        </body>
</html>
END_HTML

Или, если вы хотите записать эти закодированные табуляции и новые строки, как они есть:

$ cat <<'END_HTML' >index.html
<!DOCTYPE html>\n<html>\n\t<body>\n\t\t<h1>Hello World!</h1>\n\t</body>\n</html>
END_HTML

Расширение истории не запускается здесь -документы в bash.

0
28.04.2021, 23:14

Теги

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