2016-01-24 227 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