2016-01-24 228 views
0

我开始学习bash脚本。我试图从教程中升级脚本以接受某些变量的用户输入。输入工作,但我想在输入变量之前插入回声。我尝试了echo的不同变体(使用-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 

你告诉bash重定向任何输出到文件 “page.html中”。这就是为什么你没有看到提示。

你应该做的就是改变这一行:

cat <<- _EOF_ 

由:

cat <<- _EOF_ > page.html 

这样只有“猫”的结果被重定向到文件中。

+0

是的,它现在可以工作。谢谢 – user3658729

+0

在这种情况下,请接受答案 – CCH