ヨルダンの答えは間違っています。/etc/profile
すべてのシェルから提供されるわけではありません。あなたが指摘するように、によって供給されていないcsh
、tcsh
-私はわからないんだけどzsh
。sh
Korn 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/profile
Bourne Shell互換の構文に従う必要があります。
同様に、あなたは自分でそれを固執する必要があります.profile
(.bash_profile
bash構文が必要な場合に使用します)-それは少し余分な入力かもしれませんが、それはあなたが一度だけ行う余分な入力です。リファレンス${HOME}
ではなく~
、などいくつかのUnix系、cronジョブは、下の実行sh
、あなたの各行は、Makefile
によって処理されるsh
ので、あなたは、UNIXの複数のフレーバー間で作業している場合、それは本当にあなたの保つために支払う.profile
互換性Bourneシェルを。SysAdminとして、.profile
Bourne 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.
ここで何を言おうとしているのですか?私はその段落以外のすべてを理解しました。