やってはいけない、と分かっていたが、突然の再起動でFirefox Latest起動中に終了してしまい、うっかりそのままFirefox Latestをスタートしてしまった。

起動スクリプトは最初にmv ~/.mozilla ~/.mozilla.origをやるため、Firefox Latest用の.mozillaが紛失してしまった。ちょっと焦ったが、これは~/.mozilla.orig/.mozilla.origになるため復元はできた。

だが、このような問題のあるコードをそのままにする気にはなれないので修正する。

#!/bin/zsh --extended-glob

# If .moziila is not for latest Firefox.
# (#q:A) means expand symbolic link
if [[ -e ~/.mozilla $( print ~/.mozilla(#q:A) ) != */.mozilla.latest ]]
then

# Abort if .mozilla is a directory
if [[ ! -h ~/.mozilla -d ~/.mozilla ]]
then
print .mozilla is a directory. 2
exit 1
fi

# Link .mozilla for latest Firefox if any.
if [[ -e ~/.mozilla.latest ]]
then
[[ -h ~/.mozilla ]] rm ~/.mozilla
ln -sf ~/.mozilla.latest ~/.mozilla
fi

fi

# Invoke latest Firefox
~/lib/firefox/firefox

# If invoked with no .mozilla for latest Firefox.
# Rename .mozilla for it.
if [[ ! -h ~/.mozilla ]]
then
mv ~/.mozilla ~/.mozilla.latest
fi

# Change link for original Firefox.
if [[ -e ~/.mozilla ]]
then
rm ~/.mozilla
fi
ln -s ~/.mozilla.orig ~/.mozilla
ln -sf

なぜかln -sfで機能しなかった。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください