• 締切済み

Linuxで拡張子が.shを起動させたいです

さっぱり起動方法がわからないです Ubuntuです

みんなの回答

  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.4

そのファイルが実行可能なファイルだとして 端末(ターミナル)起動して そのファイルがあるフォルダまで異動後 sudo ./ファイル名 を実行で動きませんか? ※ sudo は要らないかもしれない(権限次第)

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.3

Windows,MS-DOSと、LinuxやMacOSXを含むUNIX系OSでは コマンドラインでのソフトウェア起動のルールにいくつかの違いがあります。 Windowsは、牧歌的な時代に作られたMS-DOSの文化を継承していて カレントディレクトリーにある実行ファイルは、ファイル名指定だけで実行できる仕組みになっています。 これは、システム用ディレクトリーよりも保護がゆるい個人のディレクトリーに CHKDSK.BATのようなファイルを作ることで、CHKDSKをするつもりの人に ほかの処理を起動させることができる仕組みです。 カレントディレクトリーのほうが、C:\WINDOWS\system32よりも優先されるからです。 (少なくともWindowsXPの場合はそうなっています) 対してUNIX系OSでは、通常は実行ファイル検索用の環境変数に ユーザーディレクトリーは登録されていないのが普通です。 ですから、実行するためには、カレントディレクトリーにあるなら ./test.shのようにカレントディレクトリーを意味するパスを記述する必要がありますし あるいはフルパスで記述する必要があります。 ですから、管理者権限が必要な/sbin/fsckを起動しようとした人に ~/fsck.shを実行させることは、その分難しい攻撃と言えます。 そのうえ、Windows,MS-DOSにおける.BAT/.batは実行ファイルを意味しますが UNIX系OSでの.sh/.pyなどの拡張子は、実行ファイルという意味ではありません。 慣例として、実行ファイルにその拡張子が使われますが…拡張子がなんであろうと 実行ファイルであるかどうかは、ファイルのアクセス権限によって判断されます。 ですから、実際に~/fsck.shを実行するためには パスを指定する必要だけでなく、事前にアクセス権限を、実行可能にしておく必要もあります。 実際のアクセス権限変更には、chmodコマンドが使われます。 http://www.k4.dion.ne.jp/~mms/unix/linux_com/chmod.html GUIのファイルマネージャー等からでも、権限を書き換えられる場合があります。

  • Zanelli
  • ベストアンサー率44% (40/89)
回答No.2

シェルスクリプトの所有者とあなたのアカウントが違うんですかね。 root になれるのであれば root になってやってみてください。 それでもダメならとりあえず以下のコマンドを打って結果を貼り付けてください。 # id # pwd # ls -l ○○.sh

ohajloie
質問者

補足

http://okwave.jp/qa/q8177936.html 回答有り難うございます続きです 補足の状態から画像寄付の方法がわからないのでこういう形になってすいません

  • Zanelli
  • ベストアンサー率44% (40/89)
回答No.1

拡張子が .sh のシェルスクリプトを実行したい、で良ければ、 ファイルがホームディレクトリにあると仮定すると ターミナルで $ chmod 755 ○○.sh $ ./○○.sh で実行できます。

ohajloie
質問者

補足

ホームディレクトリに移動したにもかかわらず許可がありませんと出てきて実行できません

関連するQ&A