我正在尝试打印我在调用程序时输入的第一个参数,但它不起作用。 有什么帮助吗?
#!/bin/bash -f
awk '
BEGIN{
print "argc: "ARGC
print "argv0: "ARGV[0]
print "argv1: "ARGV[1]
}
'
使用:./progName.awk "data"
但'数据'没有显示。
答案 0 :(得分:4)
将最后一行更改为:
' "$@"
现在你没有把任何args传递给awk。
不相关且不会更改任何功能,只是将脚本名称从./progName.awk
更改为./progName.sh
或类似,因为它不是awk脚本,它是一个刚刚调用awk的shell脚本执行awk脚本。您可以用perl或ruby或其他任何东西替换awk脚本,它不会改变您拥有的可执行shell脚本的事实。