- ベストアンサー
違いについて
Cシェルで、.cshの拡張子が付いている物といない物が有りますが、 どの様な違いがあるのでしょうか? (例えばシェルの中でシェルを呼ぶ場合に、親シェルには.cshを付けるとか) いつも初歩的な質問ばかりして申し訳有りませんが、 御教授のほど宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
違いはありません。扱う人が分かりやすいように拡張子をつけているだけで、 拡張子なしでも全く同じように動きます。
その他の回答 (2)
- Sarukan
- ベストアンサー率55% (41/74)
実際にはUNIXには拡張子管理というものがありません。そのため、たとえ「file.sh」であろうと「file.csh」であろうと「file」であろうと、酷い話、「file.txt」であろうともそれが「実行可能」ファイルであればCshスプリクトファイルとして実行可能です。 ですが、逆にそのためにそれがスプリクトファイルなのかただのテキストなのかファイル名を見ただけでは分からないために、たいていのUNIXユーザはそれがCshスプリクトであれば「file.csh」というファイル名をつけて判別がしやすいようにするのです。当然、それも使用者の個人的ルールの範疇で行われることですので中には「file.exe」などとつける人もいるかもしれませんし、「file.bat」とつけている人もいるかもしれません。そして、何もついていないというのもその人のルールによるものなのです。 ですから、拡張子のあるなしは判別しやすい、しにくい以外にまったく意味のないものですので気にされる必要はありません。ただ、ami_mizunoさんがCshスプリクトファイルを作成する時には、他の方もそれを実行する場合には分かりやすいように「.csh」をつけることをお勧めいたします。 以上、何かの参考になれば幸いです。
お礼
有り難うございます。 以前本を読んだときに書いてあったのを、すっかり忘れていました。 (拡張子管理が無いこと) 今職場で扱っているシェルが、.cshの付いている物と付いていないものが 混同しているもので・・・ 私も作る場合には、Sarukanさんの助言に従い、.cshを付けたいと思います。
- a-kuma
- ベストアンサー率50% (1122/2211)
> Cシェルで、.cshの拡張子が付いている物といない物が有りますが、 > どの様な違いがあるのでしょうか? 全く違いはありません。 シェルスクリプトを実行するには、シェルの引数として渡すか、スクリプトファイルに 実行権限をつけて、第一行目に動作するシェルの指定を記述する(*)かのどちらかです。 (*) スクリプトの一行目が #!/usr/bin/sh っていうふうになってる ファイル名を見ただけで、その種別を知りたい、とか、ディレクトリのあちこちに ばらまいてあるので、find で簡単に引っかかるようにしたい、というような 欲求がある人が、ファイル名の末尾に .csh としているだけでしょう。
お礼
有り難うございます。やはり違いはないんですね。 今職場で扱っている、シェルを見る限り 欲求のある人と無い人が作成したのもが、同フォルダにある物で・・・
お礼
有り難うございます。やっぱり関係ないんですね。 今仕事場で扱っている物がごちゃ混ぜ(付く物付かない物)になっているんで・・ 後いつも、私の初歩的な質問に真っ先に回答していただき、 感謝です。 今後とも宜しくお願いいたします。