2016-01-24 2 views
0

Я начал изучать скрипты bash. Я пытался обновить скрипт из учебника, чтобы принять пользовательский ввод для некоторых переменных. Вход работает, но я хотел бы вставить эхо, прежде чем вводить переменную. Я пробовал разные варианты эха (с -e, -n, без каких-либо ...), но echo никогда не показывает, когда я запускаю скрипт. Что я делаю неправильно?Команда Bash echo не запускается

#! /bin/bash 

# make_page - A script to produce an HTML file 

# input page's title 
echo -e "Hi, type the title: /c " 
read TITLE 

###### Constants 

AUTHOR=$USER 
CREATED_ON=$(date +"%x %r %Z") 

##### Main 

cat <<- _EOF_ 
    <HTML> 
    <HEAD> 
     <TITLE> 
     $TITLE 
     </TITLE> 
     <meta name="author" content="$AUTHOR"> 
     <meta name="created" content="$CREATED_ON"> 
    </HEAD> 

    <BODY> 
    <H1>$TITLE</H1> 
    </BODY> 
    </HTML> 
_EOF_ 
+2

Как вы запускаете скрипт? – Mat

+0

'sh script.sh' отлично работает для меня. – flowit

+0

Скрипт работает отлично, я правильно вижу эхо, сценарий не проблема, с чего вы запускаете скрипт? –

ответ

0

При запуске:

make_page > page.html 

Вы говорите Баш, чтобы перенаправить вывод в файл "page.html". Вот почему вы не видите подсказку.

Что вы должны сделать, это изменить эту строку:

cat <<- _EOF_ 

по:

cat <<- _EOF_ > page.html 

Таким образом, только результат «кошки» перенаправляется в файл.

+0

Да, сейчас он работает. Спасибо – user3658729

+0

В этом случае, пожалуйста, примите ответ – CCH

Смежные вопросы