ヨルダンの答えは間違っています。/etc/profileすべてのシェルから提供されるわけではありません。あなたが指摘するように、によって供給されていないcsh、tcsh-私はわからないんだけどzsh。shKorn Shell(ksh)やBASH(bash)などのBourne shell()派生物をソースとしています。cshを使用し/etc/loginます。Borne Shell派生物のみを使用する傾向がある人々は、他のシェルの存在を忘れがちです。彼らは/etc/profileそれを「すべてのユーザー」に適用することを期待して何かを追加し、奇妙なCシェルユーザー(そして私たちは奇妙なロットです)が彼らが設定したものを持っていないことに驚いています/etc/profile。
それでも、人々は他のBorne Shell派生シェルが存在することを忘れがちです。bashまたはを使用する場合、変数を定義して同じ行にエクスポートするなど、Bourne Shellでは無効なksh構文を自由に追加できます/etc/profile。次に、そうするスクリプトを取得しますが#!/bin/sh、それは構文に窒息します。/etc/profileBourne Shell互換の構文に従う必要があります。
同様に、あなたは自分でそれを固執する必要があります.profile(.bash_profilebash構文が必要な場合に使用します)-それは少し余分な入力かもしれませんが、それはあなたが一度だけ行う余分な入力です。リファレンス${HOME}ではなく~、などいくつかのUnix系、cronジョブは、下の実行sh、あなたの各行は、Makefileによって処理されるshので、あなたは、UNIXの複数のフレーバー間で作業している場合、それは本当にあなたの保つために支払う.profile互換性Bourneシェルを。SysAdminとして、.profileBourne Shellと互換性があるように修正することで、私が誰かを助けた回数を話すことはできません。
Linuxでは、/bin/shへのリンクである/bin/bash、あなたはそれを実行すると、それはそれを実行するために使用されたパスを見て、(理論的に)ボーンシェルがサポートしている唯一のものに自分自身を制限します。同様にvi、Linuxでは本当にvim制限されます。ときどき、機能が「にじむ」ことがあります。時折vimのふりvi何かやるだろうvimことはサポートされていviないのではないの著者があるためvim、「viの後方互換性」モードでこれを無効にするのを忘れました。bashふりをするようshな似たような「ブリードスルー」機能があれば、私は驚かないでしょう。一部の機能が「LinuxのBorne Shellで動作する」場合でも、System VまたはBSDベースのUNIX(AIX、OpenBSDなど)では動作しない場合は驚くことではありません。
Does it have positive ... and understood.ここで何を言おうとしているのですか?私はその段落以外のすべてを理解しました。