42

私が計画していることの 1 つは (非常に単純な) Perl スクリプトを作成することであり、端末から明示的に Perl を呼び出さずにそれらを実行できるようにしたいと考えています。これを行うには、実行権限を付与する必要があることに感謝します。これを chmod で行うのは簡単ですが、少し手間のかかる追加の手順のようにも思えます。私が望むのは、次の2つのいずれかです。

まず、ファイルを保存するときに実行フラグを設定する方法はありますか? 現在、私は gedit と geany を試していますが、この機能があれば、同様の (またはそれ以上の) 機能を備えたエディターに切り替えたいと考えています。

それができない場合、特定のディレクトリに作成されたすべてのファイルに実行権限が必要であることを宣言する方法はありますか?

私の umask は 022 に設定されていますが、これは私が理解している限りは問題ありませんが、ファイルは実行可能ファイル (デフォルトのアクセス許可が 777 の場合) ではなく、テキスト ファイル (デフォルトのアクセス許可が 666 の場合) として作成されているように見えます。

おそらく私は怠惰なだけかもしれませんが、作成したすべてのスクリプトを chmod するよりも便利な方法があるに違いないと考えています。

4

5 に答える 5

85

ファイルを実行可能にする:

chmod +x ファイル

perl の場所を見つける:

どのパール

これは次のようなものを返す必要があります

/bin/perl 時々 /usr/local/bin

次に、スクリプトの最初の行に次を追加します。

#!"path"/perl 上からのパスなど

#!/ビン/perl

その後、ファイルを実行できます

。/ファイル

PATH に問題がある可能性があるため、それも変更することをお勧めします ...

于 2009-05-03T13:48:29.027 に答える
4

あなたが説明することは、これを処理する正しい方法です。

あなたはGUIにとどまりたいと言った。通常、ファイル プロパティ メニューから実行ビットを設定できます。必要に応じて、コンテキスト メニューのカスタム アクションを作成してこれを行う方法を学ぶこともできます。もちろん、これはデスクトップ環境によって異なります。

より高度なエディターを使用する場合は、ファイルの保存時に実行されるアクションをスクリプト化できます。たとえば (私は vim にしか詳しくありません)、これを .vimrc に追加して、" #!/*/bin/*" で始まる新しいファイルを実行可能にすることができます。

au BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent !chmod +x <afile> | endif | endif
于 2009-05-03T17:13:22.203 に答える
2

それほど大したことではありません。次の 1 つのコマンドでスクリプトを作成できます。

chmod a+x *.pl

perl ファイルを作成した後、スクリプトを実行します。または、次のようなコマンドでファイルを開くこともできます。

touch filename.pl && chmod a+x filename.pl && vi filename.pl # choose your favorite editor
于 2009-05-03T13:34:21.247 に答える