<<  2007.12 >>
SMTWTFS
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー

カテゴリー » Linux » Fedora December 26, 2007

Fedora 8 で zsh 起動のたびにエラー Fedora

端末を開くたびに下の文句を言われるようになった今日この頃
/etc/profile.d/SDL_pulseaudio_hack.sh:3: no matches found: /usr/lib*/alsa-lib/libasound_module_pcm_pulse.so
先日の SDL-1.2.12-5.fc8(1.2.12-4かもしれない)へのアップデートで、起動スクリプトが追加されたらしい。該当ファイルをチェック
$ cat /etc/profile.d/SDL_pulseaudio_hack.sh
[ -e /usr/lib*/alsa-lib/libasound_module_pcm_pulse.so ] && export SDL_AUDIODRIVER=esd
私の Fedora8 は alsa-plugins-pulseaudio を削除してあって libasound_module_pcm_pulse.so は存在しません。なるほど、「*」がマッチしない時の挙動に問題があるわけですな。以前から zsh のエラー表示は腑に落ちないと思っていたんですよ。
$ ls *.hoge 2> /dev/null
このように標準エラー出力を /dev/null に送ったら、何も表示されないのが普通のはず。ところが zsh では zsh: no matches found: *.hoge と文句を吐き出します。

検索したら glob がマッチしない時の動作[おもてなしの空間] に分かりやすく仕様が書いてありました。/etc/zshenv に
setopt nonomatch
と書いて解決。こういう設定は zshrc にする方が相応しいかと思いますが、それだとログインシェルの時に同じエラーが表示されるんだよね(zshrc の前に /etc/zprofile ⇒ /etc/profile ⇒ /etc/profile.d/*.sh)

≪追記≫
そういえば bash でも x86_64 環境で
/usr/lib/.../libasound_module_pcm_pulse.so

/usr/lib64/.../libasound_module_pcm_pulse.so
があると
bash: [: too many arguments
とエラーが出るはず。この書き方はよろしくない
07:46 pm | コメントする |

累計:1076982、今日:310、昨日:1945
Created in 0.0075 sec.