質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

1回答

4156閲覧

CentOS 環境変数が反映されない原因が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

3クリップ

投稿2021/10/07 00:31

提示コードの.profileファイル(一部抜粋)コード部ですが下記のコードのように参考サイトを参考に下部に環境変数を設定したのですが上手く反映されません。 source profileコマンドを実行しました。これはなぜなのでしょうか?

参考サイト:https://stackoverflow.com/questions/52592309/0110-error-glsl-3-30-is-not-supported-ubuntu-18-04-c
参考サイト: https://www.early2home.com/blog/os/linux/post-1214.html

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null fi fi done unset i unset -f pathmunge if [ -n "${BASH_VERSION-}" ] ; then if [ -f /etc/bashrc ] ; then # Bash login shells run only /etc/profile # Bash non-login shells run only /etc/bashrc # Check for double sourcing is done in /etc/bashrc. . /etc/bashrc fi fi /////////////////////////////////////////////////////// export MESA_GL_VERSION_OVERRIDE=4.2 ///////////////////////////////////////////////////////

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2021/10/07 00:37

このファイルは /etc/profile ですか ~/.profile ですか。 質問者さんが使っているシェルはなんですか。
退会済みユーザー

退会済みユーザー

2021/10/07 00:39 編集

/etc/profile です。linux の端末 です。
int32_t

2021/10/07 00:40

ログインシェルを聞いています。「echo $SHELL」で表示されるものです。
退会済みユーザー

退会済みユーザー

2021/10/07 00:45

/bin/bash と表示されました。
guest

回答1

0

/etc/profileに環境変数の設定を書いても、(不適切ではありますが)一応動くはずです。sourceするときにファイル名を間違えたか何かしたのでしょう。いったんログアウトして再ログインすれば環境変数が設定されているはずです。

で、/etc/profileはシステム全体に効力のあるファイルで、こういう「開発するユーザにだけ必要な環境変数」を書いたりしません。そういうのは ~/.bashrc に書いてください。

投稿2021/10/07 00:56

編集2021/10/07 00:57
int32_t

総合スコア21695

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/10/07 06:56

~/.bashrcの最下部に記述しましたが以下のエラーがでます。しかし コマンドライン上で一時知的に環境変数を適用するタイプだと普通に実行できます。 $ ./GL Program Info Log: error: vertex shader lacks `main' Complie Error: Vertex Shader 0:4(10): error: GLSL 4.20 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES Complie Error: Fragment Shader 0:4(10): error: GLSL 4.20 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES Program Info Log: error: linking with uncompiled/unspecialized shadererror: linking with uncompiled/unspecialized shader setBindAttribVertex(): -1 setBindAttribVertex(): -1 glGetError(): 0x502 GL: source/Shader.cpp:261: void FrameWork::Shader::setUniform4f(const char*, glm::vec4): Assertion `0' failed
int32_t

2021/10/07 07:10

~/.bashrc に書いただけでそれが実行されてないシェルで./GLを実行しているとか、~/.bashrc は実行されたけど途中でエラーになって最後の行まで到達してないとか、色々な可能性がありますが、自分で調べましょう。
退会済みユーザー

退会済みユーザー

2021/10/07 07:13

わかりました。質問ですがこれは最後の行に書き込むというやり方は正しいのでしょうか?
int32_t

2021/10/07 07:30

> 最後の行に書き込むというやり方は正しい ~/.bashrc が途中で終わらなければ、問題ありません。 ~/.bashrc の先頭に書いても大丈夫です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問