web-dev-qa-db-ja.com

Bashスクリプトのアクセス許可が拒否されました&悪い通訳

私はkali linux 64ビットを使用しています。

私はpythonスクリプトを作成しました。開始するために2つの引数を取ります。正確に同じパスを入力するたびに、またはターミナルで使用したコマンドの履歴を検索する必要はありません。したがって、 pythonスクリプトを引数で呼び出す単純なスクリプトを作成することにしました。

#! /bin bash

python CreateDB.py ./WtfPath ./NoWtfPath/NewSystem/

これは、ターミナルで使用するコマンドとまったく同じです。しかし、スクリプトファイルを実行しようとすると、エラーメッセージが表示されます。

bash: ./wtf.sh: /bin: bad interpreter: Permission denied

wtf.shには実行権限があります。

なにが問題ですか?

8
Davlog

ここにスラッシュの代わりにスペースがあります:

#! /bin bash

する必要があります:

#! /bin/bash

または単に

#!/bin/bash

(最初のスペースはオプションです)。シバン(#!)の後に実行可能ファイルへのパスが続く必要があります。その後に 1つの引数 が続く場合があります。例:

#!/usr/bin/env sh

この場合 /usr/bin/envは実行可能ファイルです。見る man env 詳細については。

ただ/binはディレクトリを指します。

10
goldilocks

スクリプトが存在するマウントポイントに「noexec」属性がある場合、必要なすべてをシバンでき、それでも機能しませんが、スクリプトを引数としてインタープリターを呼び出すと(ただし、これは、noexecマウントで別のスクリプトを実行しようとはしません)。

1
Splud