我试图将用户输入变量(文件名)传递到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变量吗?如果是这样的话,我如何设置文件,使它的内容可以通过环?
任何帮助都是非常感谢的!
发布于 2019-04-27 22:42:53
在tcsh脚本中有两个错误:
下面的脚本应该适用于您。
#!/usr/bin/tcsh -f
echo please enter files list
set x = $<
foreach i(`cat $x`)
echo $i
endhttps://stackoverflow.com/questions/52719489
复制相似问题