2.6.32-696カーネルを使用する2つの異なるCentOS6システムで実行されるアプリケーション(私のアプリケーションではありません)があります。このアプリケーションは、コマンドラインベース(実行後に独自のプロンプトがある)データ分析およびフローティングルーチンです。あるコンピュータでは、コマンドラインの完成はファイルアプリを介して機能します。つまり、「read bob」と言うと、現在のディレクトリで「bob」で始まるすべてのファイルが一覧表示されます。他のコンピュータでは、完了はまったく機能しません。別のシェルを試して環境変数を調べましたが、他の動作を説明するために何も識別できません。これらの一貫性のない動作を解決するために、コンピュータ間の一般的なシステム設定を照会または比較する方法はありますか?
コメントに関する追加の詳細:
試みたシェル:
操作が完了したマシンではbash(そのマシンのデフォルト)で動作し、tcshに切り替えると機能します。
完了に失敗したマシンでは、tcsh(そのマシンのデフォルト)とbashの両方が失敗します。
新しい情報:
アプリケーションCLIでファイル名の完成を取得できないシステムでrootとしてログインすると(suやsudoではなく対話型コンソールからrootとして)、ログインすると完了することがわかりました。権限や環境問題を示すようですが、何を探すべきかわかりません...
答え1
シェルオプションnullglobを設定すると問題が発生します。shopt nullglob
設定がオンになっているかオフになっているかを確認するには、コマンドラインに入力してください。オフにするには、を実行しますshopt -u nullglob
。
こうすればoptionも同様failglob
なので、それも確認してください。