SSH経由でLinuxで環境変数を設定する

SSH経由でLinuxで環境変数を設定する

私は3つの異なる問題を解決しているので、ソースコードを3つの異なるディレクトリに複製しました。

1) /nobackup/vivek/dev1/<source_code>..
2) /nobackup/vivek/dev2/<source_code>..
3) /nobackup/vivek/dev3/<source_code>..

.bashrcすぐにそのモジュールに移動できるように、ファイル内のいくつかのモジュールに複数のエイリアスを作成しました。私は環境変数という名前を使用しましたが、CDRその値は私が作業している問題とディレクトリによってdev1異なります。dev2dev3

.bashrc私のファイルにある別名の1つの例

alias acl='cd /nobackup/vivek/$CDR/<source_code>../acl'

環境変数の値を手動で変更する必要があります。たとえば、問題番号を処理したい場合は、3次に環境変数CDRdev3

export CDR=dev3. 

問題ないからです。 3. dev3ieフォルダにある必要があります/nobackup/vivek/dev3/<source_code>..

同様に、問題番号を解決している場合。 1または2の環境変数を手動でエクスポートする必要がありますdev1dev2

export CDR=dev1 or export CDR=dev2

CDRSSH自体で環境変数を設定したいと思います。タスクを実行するために、次のコマンドを試しました。

ssh -t [email protected] 'export CDR=dev1'
or
ssh -t [email protected] 'export CDR=dev2'

上記のsshコマンドの実行時にパスワードを入力すると、接続は終了します。

[Eメール保護]パスワード:
122.11.33.21への接続が閉じられました。

誰でも私を助けることができますか?なぜ接続が終了したのかわかりません。ログイン時に環境変数を設定する他の方法はありますか?

ベストアンサー1

bash標準設定ファイル、rcファイルなどをロードするために(または優先シェル)(または優先シェル)をログインシェルで起動しようとしています。

ssh -t user@server "export var=VALUE ; bash -l"

または@theyが指摘したように、より短い表記法

ssh -t user@server "var=VALUE bash -l"

それもします。

おすすめ記事