'也添加拉路径'。??
你的意思是
echo "fileName" | awk '{printf("setenv '`pwd`'/%s\n", $1)}'
输出
setenv INPUT_DIR /home/shellter/filename
我已经替换了您sort ... | tail ..
,因为这似乎不是您的核心问题。
另请注意,单引号可防止处理反引号命令替换。您关闭单引号,获取您的 cmd-sub 值,然后再次打开单引号。
如果这不是您的意思,请编辑您的问题并用sort ... tail ...
简单的 echo“字符串”替换上面的内容,并包含预期的输出。它还有助于包含您当前获得的输出。
要回答标题中的问题,awk 几乎肯定会使用 $SHELL 环境变量中存储的值。或者可能有另一个变量,所以执行 aset | grep /bin/sh
并setenv | grep /bin/sh
查看对的引用在哪里/bin/sh
设置。然后决定你将如何管理它。
当我运行您的代码时,没有任何迹象表明 shell 已执行。我明白了
setenv INPUT_DIR `pwd`/file
但我在 ksh 下运行代码。我没有可用于测试的 csh。但是对于给定的情况,这应该无关紧要。
IHTH