Unix 多行ksh命令只会转到新行

Unix 多行ksh命令只会转到新行,unix,ksh,Unix,Ksh,我对KSH非常陌生,我在记事本中创建了一个5行的小回音代码,复制并粘贴到putty中,但当我点击enter键时,我得到的是“>”,本质上是一个新行,出于某种原因,它似乎没有运行代码。我尝试过使用“.”、“exit”和“;”,但它给我的只是一个以“>”开头的新行……如何让多行代码在KSH中运行 代码如下: testvar1=$(bteq << EOF 2>&1 .LOGON db/user,pass DATABASE schema: SEL CUR

我对KSH非常陌生,我在记事本中创建了一个5行的小回音代码,复制并粘贴到putty中,但当我点击enter键时,我得到的是“>”,本质上是一个新行,出于某种原因,它似乎没有运行代码。我尝试过使用“.”、“exit”和“;”,但它给我的只是一个以“>”开头的新行……如何让多行代码在KSH中运行

代码如下:

testvar1=$(bteq << EOF 2>&1
    .LOGON db/user,pass
    DATABASE schema:
    SEL CURRENT_DATE;
    .LOGOFF;
    .QUIT;
    .EXIT
    EOF)
echo "The date is: " $testvar1
testvar1=$(bteq&1)
.登录数据库/用户,通过
数据库架构:
选择当前日期;
.注销;
退出
出口
EOF)
echo“日期为:$testvar1

如果行继续是有意的,则需要在行尾输入反斜杠,以避开回车符。这就取消了回车的特殊含义(将命令发送到shell):


向我们展示您正在尝试运行的线路。您可能有一个不匹配的引号或使shell认为一行正在换行到下一行的东西,从而显示行继续字符“>”。按Ctrl-C以跳出返回提示。反斜杠似乎不起作用…Crtl+C帮助您返回提示…您的here文档的结束EOF需要从行的第一个字符开始。我不熟悉bteq命令,所以我不知道它在语法上是否正确。仅在使用命令的返回代码测试失败后显示其输出。
$ echo "Hello \
> World"
Hello World
$