Shell Scripting UNIX中的HTML

par*_*181 1 unix

val=Mumbai

cat << 'EOF' > pkll1.htm
<html> 
<head>
<title>HTML</title>
</head>
<body>
<h1>$val</h1>
while read line
do
val1=`echo $line`
<p>$val1</p>
done<myfile.dat
</body>
</html>
EOF
Run Code Online (Sandbox Code Playgroud)

上面的代码显示如下输出而不是实际值:

$val
while read line do val1=`echo $line` 
$val1

done 
Run Code Online (Sandbox Code Playgroud)

如何以正确的方式执行它?请帮帮我.

gho*_*oti 5

在单独的块中执行,代码位于中间.

val=Mumbai
file=pkll1.htm

cat <<EOF1 > $file
<html> 
<head>
<title>HTML</title>
</head>
<body>
<h1>$val</h1>
EOF1

while read line; do
  val1=`echo $line`
  echo "<p>$val1</p>" >> $file
done < myfile.dat

cat <<EOF2 >> $file
</body>
</html>
EOF2
Run Code Online (Sandbox Code Playgroud)