タグ付けされた質問 「environment-variables」

環境変数に関する質問については、実行中のプロセスの動作とリソースへのアクセスに影響を与える可能性のある一連の動的変数。このタグは、環境変数に関する質問、または実行中のプロセスの動作とリソースへのアクセスにおける変数値の設定または変更の影響から生じる問題に関する質問に使用します。

3
環境変数を設定する最良のディストリビューション/シェルに依存しない方法は何ですか?
質問はそれをすべて言います。現在Arch Linuxとzshを使用していますが、(少なくとも)VTとxtermの両方で機能し、ディストリビューションまたはシェルを切り替えても機能することを願っています(できればできれば)。 さまざまなディストリビューションのドキュメントで、この質問に対する非常に異なる回答を聞いたことがあります。Ubuntuは「.pam_environmentを使用する」と言っています。Archでの推奨事項は、シェルによって異なると思います。現在、私はすべてを.profileに入れており、何らかの理由でシェルがソースを提供していない場合(たとえば、.bash_profileが存在する場合はbash)、手動でソースを指定してそれをオーバーライドします。しかし、もっと良い方法があるに違いないようです。


4
「_ =」の意味は何ですか?
を実行した後set -a var=99、次の出力で文を見つけることができますset。 ... TERM=xterm UID=0 USER=root VIRTUAL_ENV_DISABLE_PROMPT=1 _=var=99 colors=/etc/DIR_COLORS ... 「_ =」の意味を教えていただけますか? 私はそれecho $varが何も与えないことに注意してください。を実行するとset -a、setこの変数は再び含まれなくなります。何が起こっている?

9
PATHからディレクトリを削除する
MingWを使用してwxWidgetsをコンパイルしようとしていますが、パスにcygwinが含まれていますが、これは競合しているようです。したがって/d/Programme/cygwin/bin、PATH変数から削除したいのですが、これを行うためのエレガントな方法があるのでしょうか。 素朴なアプローチは、ファイルにエコーし、手動で削除してソースにすることですが、これにはもっと良いアプローチがあると思います。

3
シェルスクリプト内でPATHを変更する方法は?
Java / Grails / Mavenのバージョンを変更する必要があるプロジェクトがいくつかあります。変更を行うスクリプトでこれを処理しようとしています。例えば: #!/bin/sh export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22 export PATH=$JAVA_HOME/bin:$PATH export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3 export PATH=$GRAILS_HOME/bin:$PATH export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11 export PATH=$MAVEN_HOME/bin:$PATH which java which grails which mvn これが実行されると、スクリプトのコンテキスト内でPATHが正常に変更されますが、スクリプトは終了し、変更は行われません。 現在作業しているシェルのPATHを変更する方法でスクリプトを実行するにはどうすればよいですか? Cygwinを使用しています。

2
$ PWDとは何ですか?(vs現在の作業ディレクトリ)
したがって、ウィキペディア(link)は、このコマンドpwdが「作業ディレクトリの印刷」の略であり、それが理にかなっていることを教えてくれます。 しかし、環境変数の場合、「P」はprint以外のものの頭字語でなければなりません。 「現在の作業ディレクトリ」について話す人の声を聞きます。これはより良く聞こえ、より直感的ですが、それでも環境変数は$ CWDではなく$ PWDと呼ばれるようです。「印刷作業ディレクトリ変数を確認しましたか?」と言う人はいません。 私は現在、WebアプリケーションサーバーuWSGIで遊んでいますが、実行中に(uWSGIの統計ページで)通知されます。 "cwd":"/home/velle/greendrinks", 明らかに(より直感的な頭字語)のような彼らがそうcwd超えますpwd。 私は何かを誤解しているか、それとも環境変数に直感的でない名前を付けただけなのかを把握しようとしているのでしょうか?

2
TERM環境変数のデフォルトはどこに設定されますか?
デスクトップGUIでGNOMEターミナルエミュレーターを使用してターミナルウィンドウを開くと、シェルのTERM環境変数はデフォルトの値になりますxterm。 CTL+ ALT+ を使用F1してコンソールTTYウィンドウに切り替えecho $TERM、値がに設定されている場合linux。 私の質問の動機は、~/.bashrcファイル内で変数を使用して、カラーシェルが提供されているのか、古き良き時代のモノクロだけが提供されているのかを判断することです。 # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac 次のように入力すると、コンソールシェルとGnomeターミナルエミュレーターシェルの両方で export TERM=xterm-color source /.bashrc 両方のシェルがカラーモードに変更されます(両方で常に発生したいこと)。 デフォルトTERM値はどこに設定されますか?可能な場合、デフォルトを変更するのに最適な場所はどこですか?端末エミュレータGUIには、デフォルトのTERM値を選択または設定するものは何もないようです。 ファイルexport TERM=xterm-colorの先頭に行を追加することを検討しました~/.bashrcが、私の直感ではこれは最善の解決策ではなく、Googleの検索ではまだ良い答えに至っていないことがわかります。 Ubuntu 15.04 Desktop Edition(Debianベース)を実行しています。

5
LD_LIBRARY_PATHはどこですか?LD_LIBRARY_PATH環境変数を設定するにはどうすればよいですか?
Unixを使用してc ++プログラムを構築しようとしています。 エラーが発生しました Linking CXX executable ../../bin/ME /usr/bin/ld: cannot find -lboost_regex-mt LD_LIBRARY_PATH環境変数にlibboost *の場所を設定し、最初に入力したようにmakeを呼び出すだけでよいと聞いた -L /usr/lib64 -l boost_regex-mt または export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64 しかし、LD_LIBRARY_PATHはどこにありますか?LD_LIBRARY_PATH環境変数を設定するにはどうすればよいですか?

5
Makefileインクルードenvファイル
いくつかのenv変数をMakefileに含めようとしています。envファイルは次のようになります。 FOO=bar BAZ=quux export各env変数につながるものはないことに注意してください。Makefileに先頭のenvファイルexportだけを追加するとinclude、すべてが正常に機能します。しかし、env vars sansをリードし続ける必要がありexportます。これによりinclude envfile、Makefileで使用することができなくなります。 私もこのようなことを試してみました: sed '/^#/!s/^/export /' envfile > $(BUILDDIR)/env include $(BUILDDIR)/env しかし、それを行うと、envファイルが含まれていないため、makeがエラーをスローします。



2
シェル環境をリセットする方法は?
この問題はしばらくの間私を悩ませてきましたが、EnvWatcherで答えを見つけたと思っていましたが、残念ながらBashでしか機能しません。そして、私はzshを使用しています。 env-watcherの機能を少しだけ複製したいと思いますが、シェルをクリーンスタートアップステージにリセットできるコマンドがあるかどうかを知る必要があります。 たとえば、次のワークフローが必要です。 source some-functions alias another-thing export SVN_EDITOR=vim RESET-ZSH # none of the above are valid any more そのような組み込みの可能性はありますか、それとも私は蝶を追いかけていますか?


8
別のプロセスの環境変数を取得するにはどうすればよいですか?
調べる/proc/1/environと、プロセス1の環境変数のヌルバイトで区切られた文字列を見ることができます。これらの変数を現在の環境に持ち込みたいです。これを行う簡単な方法はありますか? procmanページは私に、ライン毎に各環境変数をプリントアウトすることができますスニペットを提供します(cat /proc/1/environ; echo) | tr '\000' '\n'。これにより、内容が正しいことを確認できますが、実際に必要なのは、これらの変数を現在のbashセッションにソースすることです。 それ、どうやったら出来るの?

6
SSH経由で接続した直後にスクリプトを実行するにはどうすればよいですか?
私はこの質問を始めましたが、開いている間に答えました。この質問を投稿し、自分のソリューションでフォローアップし、他の潜在的なソリューションに対して公開したままにします。 <バックストーリー> 私はtmuxおよびvimユーザーです。フラッシュムービーでカーネルパニックが発生したときにUbuntu開発マシンが動き出すことを心配する必要がないので、リモートvimの作業が好きです。tmuxを実行するということは、再起動後に開いているファイルが私を待っており、中断したところから続行できることを意味します。次のように接続すると、tmuxセッションでのvimの実行で問題が発生しました。 ssh example.com -t 'tmux attach' UTF-8の問題は、通常どおりにシェルインし、手動でtmuxセッションにアタッチした場合に発生しない、発生します。 </バックストーリー> 私は私が私の中で設定した他のもののいずれかの影響を与えませんsshのログイン時に何かを開始する再利用可能な方法で、したいです.zshrc(またはあなたの.bashrcない私の開発環境で、必要な場合がありますが、まだbashのを使用している場合)を非常に言われたマシンで時々ローカルで作業しているときに表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.