質問: sshログイン時に自動的に環境変数を設定(ルートアクセスなし) 状況:仮想マシンでubuntu 12.04 ltsを実行しています。私は定期的に大学のサーバーで自分のアカウントに接続する必要があります。これには、ターミナルを開いてssh -y username@server.comを使用します。一度そこに来たら、常に以下を実行する必要がありますsetenv pythonpath "place/stuff/this_goes_on_forever"また、他の数行のコード。私が欲しいもの: 私の主な要求:スクリプトを準備し、ssh経由でサーバーにログインするたびに自動的に実行するようにしたいと思います。 これはサイドクエリですが、alias p="pwd"を使用すると(たとえば)新しいエイリアスが「取得」せず、pと入力すると、「コマンドが見つかりません」という結果になります。これは、rootでないためか、ssh経由でログインしているためなのでしょうか、それとも修正されているのでしょうか? 解決策の試み:ローカルexport pythonpath="..."ファイルに~/.bashrcを追加しようとしました。つまり、ターミナルを開始するとpythonpathが設定されますが、サーバーにsshを設定すると、設定されなくなります(さて、私はまったく新しい環境変数のホストを持っています)。 ~/.bash_profileを試しましたが、うまくいきませんでした。サーバーのexport pythonpath="..."ファイルと~/.bash_profileファイルに~/.bashrcを追加しようとしましたが、どちらも機能しませんでした。サーバーへのrootアクセス権がないため、サーバーのsshd_configファイル内のacceptenvまたはpermituserenvironementを変更できません。これは読み取り専用です。このコードを配置できる場所は確かにありますが、どこにあるかわかりません。
回答: 次のコマンドを実行して、使用しているシェルをテストします。echo $shell bashであり、自動的に〜/ .bashrcを読み取っていない場合は、〜/ .bash_profileファイルを作成する必要があります。$ cat .bash_profile if [ -f ~/.bashrc ]; then . ~/.bashrc fi これに関して: 後で〜./。bash_profileを試しましたが、うまくいきませんでした。 プロファイルファイルを入手しようとしていた場合、その構文は正しくありません。環境ファイルを入手するには、次のコマンドを実行します。. ~/.bash_profile