【发布时间】:2013-04-22 17:17:53
【问题描述】:
我正在尝试使 awk 文件可执行。我已经编写了脚本,并且做了chmod +x filename。代码如下:
#!/bin/awk -v
'TOPNUM = $1
## pick1 - pick one random number out of y
## main routine
BEGIN {
## set seed
srand ()
## get a random number
select = 1 +int(rand() * TOPNUM)
# print pick
print select
}'
当我尝试运行程序并为TOPNUM 放入一个变量时:
pick1 50
我得到了回应:
-bash: /home/petersone/bin/pick1: /bin/awk: bad interpreter: No such file or directory
我确定我搞砸了一些简单的事情,但我根本无法弄清楚它是什么。我该如何解决这个问题?
【问题讨论】:
-
awk真的安装到/bin/awk了吗? -
尝试“which awk”以查看 akw 在哪里,或者将 #!/usr/bin/env awk 放在顶部而不是 #!/bin/awk。如果 which awk 没有显示任何内容,则需要安装 awk。
-
谢谢。我会试试看。
-
请参阅this question 和my answer,了解
#!/usr/bin/env技巧的优缺点。并注意不能使用#!/usr/bin/env awk -v;它不需要多个参数。 -
感谢您的帮助。它奏效了。