首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >foreach循环中的TCSH错误: files.list:命令未找到

foreach循环中的TCSH错误: files.list:命令未找到
EN

Stack Overflow用户
提问于 2018-10-09 11:02:03
回答 3查看 2K关注 0票数 0

我试图将用户输入变量(文件名)传递到tcsh中的foreach循环中。例如,用户输入的变量是"files.list“(保存在与保存Shell脚本相同的文件夹中,并且正在运行)。

这是我的代码:

代码语言:javascript
复制
 #! /usr/bin/tcsh -f 

echo please enter files list 

set x = $<

foreach i ('$x')    
echo $i     
end

我希望将"files.list“中的每个单词输出到屏幕上。Files.list包含5行,每一行都有一个文件名。

代码语言:javascript
复制
myScript22.sh
Mad45.sh
Number32.sh
killBill.sh
gotMilk.sh
bugslife.sh

我犯了一个错误-- "foreach:没有括号的单词。“

难道'cat $x'没有正确地调用x变量吗?如果是这样的话,我如何设置文件,使它的内容可以通过环?

任何帮助都是非常感谢的!

EN

Stack Overflow用户

发布于 2019-04-27 22:42:53

在tcsh脚本中有两个错误:

  1. 在foreach条件下,文件名前面缺少cat命令。
  2. 使用直接单引号(‘'),而不是反引号()在您的预期条件。

下面的脚本应该适用于您。

代码语言:javascript
复制
#!/usr/bin/tcsh -f

echo please enter files list 

set x = $<

foreach i(`cat $x`)
  echo $i
end
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52719489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档