我有一个简单的awk
程序:
#!/usr/bin/awk -f
BEGIN {print "work already!"}
如果我按原样运行:
awk -f panic
在(osx)终端上工作。但如果我尝试将其作为脚本运行,它就会失败:
. panic
-bash: BEGIN: command not found
我使用which awk
检查了awk的位置,它确实位于/usr/bin/awk
。任何想法为什么它不起作用?
答案 0 :(得分:5)
以./panic
运行,而不是. panic
,因为后者与运行source panic
相同,后者无法执行您想要的操作。见man source
答案 1 :(得分:4)
要将文件作为脚本运行,您必须输入:
./<script>
修改强>:
正如William Pursell所指出的那样,.
不是source
的别名,而是恰恰相反。
。不是源的别名。 。是用于在当前shell中运行另一个脚本的sh标准命令。 source是一个源自csh的命令,被许多sh克隆用作别名。如果源被视为除了憎恶之外的任何东西,它是。的别名,而不是相反。