未知错误
问题描述:
有人能解释我这是什么错误意味着:未知错误
> ./rank lines.in
'nknown option: `-
Usage: tcsh [ -bcdefilmnqstvVxX ] [ argument ... ].
这是我的脚本排名:
#! /bin/tcsh -f
set line = `cat ${1}`
echo $line
我认为,这个问题我已经是第一行#! /bin/tcsh -f
我正在研究Windows!但我编写脚本在Windows编辑器后,我转换它使用dos2unix排名,可能是什么问题,预先感谢任何帮助
答
我不认为你的dos2unix
工作。看起来你仍然有一个\r
在它不喜欢的散列爆炸线的末尾。它看起来像是看到/bin/tcsh -f\r
,解释,作为/bin/tcsh -f -\r
,然后试图打印错误消息:
Unknown option: `-\r'
的\r
导致最终报价出现在该行的开头。如果您想要查看文件中的内容,请尝试cat -A ./rank
以打印所有隐藏的字符。您可能会看到
#! /bin/tcsh -f^M$
答
我安装tcsh到我的Linux机器并运行该脚本,它的工作,所以我猜你的换行符是错误的。
这个错误似乎意味着当调用tcsh shell时它会收到无效的参数。我认为它得到的是整个脚本作为参数列表。我试图改变-f来-g(不会被识别为tcsh的参数)和我:
Unknown option: `-g'
Usage: tcsh [ -bcdefilmnqstvVxX ] [ argument ... ].
注意如何还告诉我无效参数的名称?
要么你的tcsh开始出错。启动tcsh shell时可以给出默认参数。你尝试过开始吗?
但是真的,学习tcsh的唯一原因是如果你需要维护一些旧的tcsh脚本。即使如此,如果可能的话,我会先将它们转换为其他脚本语言。如果您想学习shell脚本,请尝试使用bash或bourne shell。有很多reasons为什么tcsh会让你生气。
您是否真的必须使用tcsh而不是bash或Bourne shell? tcsh对于脚本编程非常糟糕,并且有很多缺陷。当我使用它时,它在90年代已经很差了! – Makis 2010-05-31 15:52:46
我知道,但这只是我学习的一部分,我想了解基础知识,所以你能帮助我吗? – lego69 2010-05-31 15:54:16