使用 foreach 路径的标准工具的 C Shell“未找到命令”

Hen*_*ste 2 csh

我试图在我的 C shell 脚本中使用 awk 来分割我的字符串。

当我在循环外使用 awk 时,该命令有效。例如:

set var = *
set path = `echo ${var[1]} | awk '{split($0,a,"_"); print a[1]}'`
Run Code Online (Sandbox Code Playgroud)

但是,当我在循环中使用相同的命令时,会出现以下错误awk: command not found。

例如:

set var = *

foreach path ( $var )
    echo $path | awk '{split($0,a,"_"); print a[1]}'
end
Run Code Online (Sandbox Code Playgroud)

tha*_*guy 5

使用不是 的变量名$path,因为这会干扰 Csh 的程序搜索路径。