【发布时间】:2018-10-09 11:02:03
【问题描述】:
我正在尝试将用户输入变量(文件名)传递到 tcsh 中的 foreach 循环中。例如,用户输入的变量是“files.list”(保存在与 Shell 脚本相同的文件夹中,并且正在从中运行)。
这是我的代码:
#! /usr/bin/tcsh -f
echo please enter files list
set x = $<
foreach i ('$x')
echo $i
end
我想要将“files.list”中的每个单词输出到屏幕上。 Files.list 包含 5 行,每行都有一个文件名。
myScript22.sh
Mad45.sh
Number32.sh
killBill.sh
gotMilk.sh
bugslife.sh
我收到一个错误 - “foreach:单词没有括起来。”
会不会是'cat $x' 没有正确调用 x 变量?如果是这样,我如何设置文件以便它的内容可以循环通过?
感谢任何帮助!
【问题讨论】:
-
你考虑过用 bash 代替吗?
-
感谢@melpomene,我在工作中仅限于 tcsh。