• ベストアンサー

ubuntuでもwindowsのバッチファイルみたいなものを作りたいの

ubuntuでもwindowsのバッチファイルみたいなものを作りたいのですができますか? できるなら拡張子はなんですか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#116115
noname#116115
回答No.2

特に拡張子は決まっていませんが、一般的に .sh を使用しています。 ファイルの1行目に以下のような記述をするとそのコマンドで読み込まれます。 bash で実行する場合 #!/bin/bash perl スクリプトとして実行する場合 #!/usr/bin/perl あと、実行権限を忘れずに指定してください。 chmod +x nantoka.sh

その他の回答 (5)

  • qaqa246
  • ベストアンサー率27% (45/163)
回答No.6

>そのノリで、不用意に/home/barなどをPATHに設定すると 一応書いておくとカレントディレクトリにパスを通す場合「/home/bar」なんて書き方はせずに ./をパスに追加します。

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

WindowsやMS-DOSとの違いとして、とまどいやすい点として カレントディレクトリーの対応があります。 MS-DOSでは、拡張子で実行ファイルと判断され また、拡張子を省略した場合、COM,EXE,BATなどで カレントディレクトリーにあるものが最優先で実行されます。 (加えてBAT,COM,EXEの順だったかな?) UNIX系のシェル上では、[TAB]での補完が効くこともあって 拡張子を省略した実行はできません。 また、明示しない限り、普通はカレントディレクトリーから実行ファイルを探しません。 実行ファイルは、PATHによって指定されたものが 管理された置き場所の実行ファイルとして扱われます。 一般的には、/home下のディレクトリーにPATHは設定されていません。 カレントディレクトリーの実行ファイルを実行するためには 実行権限を与えるだけでなく、./foo.shといった書式で カレントディレクトリーにあるfoo.shを明示する必要があります。 こういった管理ルールは、開発中のトラブルを防ぐ 異なるディレクトリーを考慮しない実行ファイルを用いることを防ぐ ある種のセキュリティ上の対策などの意味を持ちます。 MS-DOSなどでは、カレントディレクトリーに置いた カレントディレクトリーだけで正常動作するバッチファイルが カレントディレクトリーでのみ、優先的に選択されて実行されました。 そのノリで、不用意に/home/barなどをPATHに設定すると ディレクトリー指定の不整合で、重大なトラブルを起こすこともありえます。 そういう意味では、UNIX的な管理ルールを逸脱しないほうが無難と言えます。 #ヲレは、自分の書いた条件分岐なんか信用しない

  • qaqa246
  • ベストアンサー率27% (45/163)
回答No.4

>UNIXでは拡張子は大して意味を持ちません。 #3の人の補足になるけどUNIX系OSにおいてはパーミッションが大事です。 拡張子で判断されるのではなくて実行権をつければいいのです。 Linux限定だとsh系ですね。bashを使うのが一般的ですね。 ただWindowsのコマンドプロンプトと違ってシェルは切り替えることができます。 有名どころだとcsh(tcsh)などもあります。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

シェルスクリプトが該当するでしょうか。 UNIXでは拡張子は大して意味を持ちません。 Bsh系なら.sh, Csh系なら.cshを付けることもありますが、これらじゃないからといってシェルスクリプトではない、とは断言できません。拡張子のついていない場合も多いですし、極端な話、拡張子jpgのシェルスクリプトというのも可能です。 例えば、/usr/binの下にコマンドとして実行できるファイルがたくさんあります。これらの殆どに拡張子はありません。 このうちのいくつかは、Windowsのexeのようなコンパイルされたバイナリではなく、シェルやその他の(Perl等の)スクリプトです。 このあたりは、拡張子とそのファイルの種類が密接に関係するWindowsとは違います。 詳しくは「シェルスクリプト」で検索してください。

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

シェルです。 .shです。

関連するQ&A

専門家に質問してみよう