現在の実行可能ファイルに私のSHELLをリセットし続ける:GDBは、私はGDBに何かを実行しようとするたびに、私は次のエラーメッセージと会ってい
Error: No such file or directory
During startup program exited with code 127.
ここに周りの検索、私はこれが発生する可能性があることが分かりましたSHELL変数が正しく設定されていない場合は、と実際にはexport SHELL=/bin/bash --login
を実行してからGDBを実行すると、現在のセッションの問題が解決されます。
しかし、これはすでにecho $SHELL
が望ましい値を吐き出しているにもかかわらずです。私は、GDBを実行しようとしているコマンドをよく見ると、それは通常の形式を取ります:
/path/to/mybin -c exec /path/to/mybin --my --opts
の代わりに、ある
$SHELL -c exec /path/to/mybin --my --opts
を、GDBは何とか私は渡しています何でも実行を指すようにSHELLをリセットそれが実行を開始する前に。 (私はフォーマットgdb --args /path/to/mybin --my --opts
を使ってGDBを起動します。)実行前と実行後のSHELLは正しい値を持っています。 3つの異なる実行可能ファイルを連続してデバッグしようとすると、それら3つの実行可能ファイルはそれぞれ独自のシェルとして使用され、明らかに障害が発生します。 export SHELL=(acceptable shell)
を一度実行しても、残りのセッションでは正常に動作します。
シェルのドットファイル(.bashrc、.profileなど)はSHELL変数の参照や変更を行いません。この動作は私には完全に理解できないようです。誰が何が起こっているかもしれないという考えを持っていますか?
私は、Ubuntu 14.04でbash-4.3.11のgdb-7.7.1を使用しています。
編集:私は重要な細部について間違っていました。実行中のexport SHELL=/bin/bash --login
は実際には修正されません。私がそれをしても同じ問題が続く。 (これがまた私のシェルでのデフォルト値であり、どのようなgdb
が動作していないとき、私はshow env SHELL
を入力する場合、私は参照してください。ただし、export SHELL=/bin/bash
を設定すると、問題を修正し、そのログインシェルが何らかの形で問題です、私は推測する。
何かが正しく動作しない場合、 '(gdb)show env SHELL'とは何ですか? –
私は元の質問を編集しました。 'show env SHELL'は'/bin/bash --login'を出力します。 – xanderflood