UNIXについて次の質問があります。
上行が消えたら、何が必要ですか?
#!\bin\awk -f
to make it run as a command?
スクリプトが何であれ、chmodを使用して実行するには権限を付与する必要があると思います。
答え1
「#!」の最初の行は、実行されるプログラムのフルパス名になります。
Linuxのパス名にはディレクトリ間にスラッシュがあります。
つまり:
#!/bin/awk -f
または
#!/bin/bash
または
#!/usr/bin/perl
最初のスクリプトはrunscriptを使用しawk
、2番目bash
と3番目のスクリプトはperl
。
また、以下を使用してファイルを実行可能にする必要があります。
$ chmod +x myscript.sh
答え2
#!\bin\awk -f
有効なshebangラインですが、便利なラインではありません。これは、ファイルが\bin\awk
現在ディレクトリから呼び出されたプログラムによって解釈される必要があることを示します。したがって、質問に文字通り答えるには、このファイルをコマンドとして実行する2つの方法があります。
\bin\awk
awkの一部のバージョンをコピーまたはリンクして、現在のディレクトリに呼び出されるファイルを作成します。さらに、スクリプトは実行可能でなければなりません。ln -s /bin/awk '\bin\awk' chmod +x /path/to/script /path/to/script
明示的にawkを呼び出します。
awk -f /path/to/script
ファイルの変更が許可されている場合は、shebang行を理解しやすく編集する必要があります。つまり、バックスラッシュをスラッシュに置き換えます。そしてファイルを実行可能にします(これは確かに予想される答えですが、これを行うだけでは正解ではありません)。