4

私は簡単なawkプログラムを持っています:

#!/usr/bin/awk -f
BEGIN {print "work already!"}

私がそれを次のように実行した場合:

awk -f panic

(osx)端末では動作します。しかし、スクリプトとして実行しようとすると失敗します。

. panic
-bash: BEGIN: command not found

を使用してawkの場所を確認しましたwhich awkが、実際にはにあり/usr/bin/awkます。それが機能しない理由はありますか?

4

2 に答える 2

5

後者は実行と同じであるため、ではなく、として実行し./panicます。これは、必要なことを実行しません。見る. panicsource panicman source

于 2012-12-26T21:30:25.493 に答える
4

スクリプトとしてファイルを実行するには、次のように入力する必要があります。

./<script>

編集

William Pursellが指摘しているように、はの.別名ではありませんsourceが、正反対です。

。ソースのエイリアスではありません。。現在のシェル内で別のスクリプトを実行するためのsh標準コマンドです。sourceは、cshで作成され、多くのshクローンで..のエイリアスとして採用されたコマンドです。sourceを忌まわしきもの以外のものと見なす場合は、。のエイリアスであり、その逆ではありません。

于 2012-12-26T21:30:42.980 に答える