csh, set X=$< 为何提示Variable syntax.

发表于:2007-06-08来源:作者:点击数: 标签:
csh,setX=$为何提示Variablesyntax.(从键盘读一变量) lw371 回复于:2004-10-22 11:33:49 readval setx=val 有什么问题啊,我怎么看不到问题啊 nanfeng 回复于:2004-10-22 11:38:58 csh不支持read命令 lw371 回复于:2004-10-22 11:49:27 那是你版本问题

csh, set X=$< 为何提示Variable syntax.( 从键盘读一变量)

 lw371 回复于:2004-10-22 11:33:49
read val
set x=val
有什么问题啊,我怎么看不到问题啊

 nanfeng 回复于:2004-10-22 11:38:58
csh 不支持read 命令

 lw371 回复于:2004-10-22 11:49:27
那是你版本问题,我的csh就支持,全部都是read

 nanfeng 回复于:2004-10-22 13:31:02
能否问一下你的UNIX版本号 我用的是sco unix 5.0.5

 CNL 回复于:2004-10-22 14:13:34
$<是tcsh里面的东西吧,sco可能不支持的
[quote:50e2cf2b51]
read a
b=${a}
echo $a $b
[/quote:50e2cf2b51]
看看上述代码你能用吗?我在5.0.5下用了可以,
SCO的csh功能有所扩充,在SCO下read应当都是可以用的

 nanfeng 回复于:2004-10-22 14:36:32
read a
set b=${a}
提示
a: Undefined variable

看来问题还在 read 上 
难道我的csh有问题?

 CNL 回复于:2004-10-22 14:41:35
env | grep SHELL
结果贴出来

编辑一个文件a.sh
read a
echo ${a}
然后% ./a.sh

 nanfeng 回复于:2004-10-22 15:05:49
#!/bin/csh
read a
echo ${a}
~
请CNL试一试

 CNL 回复于:2004-10-22 16:39:57
哦,呵呵,我搞错了,还以为你问在csh环境下怎么接收键盘输入,
如果你必须使用csh,5.0.5自带的csh肯定是不支持键盘输入的。
5.0.7下可用$<做输入。

解决办法:
升级你的csh直到man csh看到有$<的帮助信息,这个我没看到哪里有下的,你自己找找。
要么用tcsh:
ftp://ftp.sco.com/Skunk/CD-ROM/bin/tcsh

 nanfeng 回复于:2004-10-25 09:55:26
多谢 CNL
谁能将 sco unix 5.0.7 /bin/csh 发给我?
[email protected]

 nanfeng 回复于:2004-11-12 09:30:17
问题解决了

set a=`/bin/line`

原文转自:http://www.ltesting.net