ターミナルを開いたときに、これらすべての「宣言-x…」行の原因は何ですか?


15

Fedoraマシンでターミナルを開く(またはsshでターミナルを開く)と、プロンプトの前に次のような行が表示されます。

declare -x CVS_RSH="ssh"
declare -x DISPLAY="localhost:10.0"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
…

これは何が原因ですか?これはを編集した後に発生した可能性がありますが、.bashrc変更したのは「PATH =」に別のディレクトリパスを追加することだけだったと思います。

アップデート(への対応heavydの答えを):私はに読まれる~/.bashrc~/.bash_profile/etc/bashrc『宣言』のために、何も見つかりませんでした。

私が見たのは以下を含む/etc/bashrcから~/.bashrcです:

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

上記のコード「PATH =…」、「export…」、および「alias…」以外のスクリプト~/.bashrcまたは~/.bash_profileスクリプトには何も表示されません。

.bashrcスクリプト(「bash ~/.bashrc」を使用)または.bash_profileスクリプトを実行すると、「宣言」のリストが表示されますが、エラーメッセージは表示されません。(実行しても何も表示されません/etc/bashrc。)

~./bash_profile 非常に簡単です:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

解決済みandrew.nに感謝します。あなたの提案が私を追跡するのに役立ちました。(declare -x…)行がexport(単独で)実行されるとすべて出力され、myの "e​​xport"と "PATH =…"の間に誤ってCRを挿入したことがわかります.bashrc


/etc/profile.d/で見て
freiheit

/etc/profile.d/で何を探すべきですか?それらのファイルは何ですか?(おそらくそれについて新しい質問を作成する必要があります。)
ダリルスピッツァー

ありがとう。私の場合、それはエクスポートとPATHの間のCRでもありました:)
marlar

回答:


8

走る

env - HOME="$HOME" /bin/bash --login -xv 2>&1 | tee foo

詳細モードでbashを起動します。これにより、初期化ファイルのすべての行が読み取られると、初期化ファイルのすべての行が実行されて出力され、出力がというファイルにコピーされますfoo。次に、foodeclare -xが呼び出されているのかを確認します。


6

多くのdeclare ...ステートメントはexport、引数なしでどこかで実行された結果であることがわかりました。

私は偶然の改行を見つけました.bashrc

export
VARIABLE=value

どのはずだった

export VARIABLE=value

はい。これは正解です。端末で「export」と入力すると、同じdeclare -x出力が表示されます。
スターリングボーン

はい、これは私に適用されます!誤ってエクスポートの内容を次の新しい行に入れました。私はそれらを同じ行に入れて、それが動作します。
fanchyna

3

はい、編集したため、.bashrcから来ている可能性があります。スクリプトに構文エラーがあり、それが出力される可能性があります。

次のように入力して、これらの行が.bashrcに存在することを確認できます。

grep declare ~/.bashrc

少なくともこれらの4行がコンソールに出力されるのが見えるはずです。プロンプトから.bashrcスクリプトを実行して、エラーが出力されているかどうかを確認することもできます。

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