linux – 从shell脚本运行awk文件,而不指定awk的确切位置

linux – 从shell脚本运行awk文件,而不指定awk的确切位置,第1张

概述我正在尝试调试调用awk文件的 shell脚本.这是一场噩梦,因为我之前从未使用过,也不是我对 linux非常流利,但无论如何 一个dev创建了一个awk文件,并试图在shell脚本中运行它. 要尝试从单独的位置运行它,而不需要指定确切的位置,他们将awk脚本放在PATH变量中的文件夹中.所以awk文件应该随处可用,对吗? 当你像这样运行它… awk -f script.awk arg1 …可以找 我正在尝试调试调用awk文件的 shell脚本.这是一场噩梦,因为我之前从未使用过,也不是我对 linux非常流利,但无论如何

一个dev创建了一个awk文件,并试图在shell脚本中运行它.

要尝试从单独的位置运行它,而不需要指定确切的位置,他们将awk脚本放在PATH变量中的文件夹中.所以awk文件应该随处可用,对吗?

当你像这样运行它…

awk -f script.awk arg1

…可以找到那个脚本吗?当shell脚本尝试运行该awk命令时,它会发出错误:

awk: fatal: can’t open source file `script.awk’ for reading (No such file or directory)

解决方法 如您所知,awk无法找到脚本本身.

如果脚本被标记为可执行文件,并且您有一个命令,那么您应该能够:

awk -f `which script.awk` arg1

或者,可能更好,将脚本变为可执行文件:

#!/usr/bin/awk -f BEGIN { x = 23 }      { x += 2 }END   { print x }

shebang需要’-f’选项才能在我测试的MacOS X 10.7.1上运行:

$script.awk script.awk31$

这为您提供了一个独立的单文件解决方案.

总结

以上是内存溢出为你收集整理的linux – 从shell脚本运行awk文件,而不指定awk的确切位置全部内容,希望文章能够帮你解决linux – 从shell脚本运行awk文件,而不指定awk的确切位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/1027521.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存