Input csh脚本迭代不使用输入变量

Input csh脚本迭代不使用输入变量,input,csh,tcsh,Input,Csh,Tcsh,我在一个简单的csh脚本UNIX freeBSD 8.1中遇到了一个问题 下面是截取的代码: #!/bin/csh -f # #read input set answer = "" echo " Enter your input(y/n)?" set answer = ($<) if ( $answer == "y") then echo "print YES" else echo "print NO" endif unset answer exit(0) 问题是,我

我在一个简单的csh脚本UNIX freeBSD 8.1中遇到了一个问题 下面是截取的代码:

#!/bin/csh -f
#
#read input
set answer = ""
echo " Enter your input(y/n)?"
set answer = ($<)

if ( $answer == "y") then
    echo "print YES"
else
    echo "print NO"
endif

unset answer
exit(0)
问题是,我给出的输入并不重要。每次迭代都是否定的;它与打印号相呼应。如果我将y放入控制台并返回。 如果我以代码形式给出变量,即,answer=y或answer=n,那么它以预期的方式工作

有谁能帮我让这个csh脚本从输入中只读y吗? 或者,还有什么是SKcript不起作用的呢


谢谢先驱报

你有没有试过设置答案=$对我有用。我输入y,它会打印是。如果您执行echo$answer,它会打印什么?您好,我尝试[code]设置answer=$<[/code],但它会产生相同的结果@shx由我每次输入y时都会回显打印NOI在conole上使用此语言设置-将控制台语言代码与字母y的脚本语言代码区别开来?我不敢相信,但这可能是一种解释。服务器区域设置LANG=de_de.ISO8859-15 LC_CTYPE=de_de.ISO8859-15 LC_COLLATE=de_de.ISO8859-15 LC_TIME=de_de.ISO8859-15 LC_NUMERIC=de_de.ISO8859-15 LC_MONETARY=de_de.ISO8859-15 LC_MESSAGES=de_de.ISO8859-15 LC_ALL=de_de.ISO8859-15;我找到了一个解决方案。我正在使用终端ssh2连接与服务器控制台一起工作。在我的ssh客户端程序中,我从VT100切换到Ansi仿真,然后脚本工作正常。