1

これはちょっと話題から外れていることは知っていますが、ここで話しているコードを見つけたので、誰かが私を助けてくれることを願っています.

私はPOSTGRESエラーを扱っていて、ここを読んでください:ローカルPostgreSQLに接続できません.vvdpzzからの回答で、端末でそのコードを実行することになりました。その後、私のMacは動作を停止し、それ以来再起動しません。アップルのロゴが点滅し続け、疑問符の付いたフォルダに切り替わります。

curl が実行するコードを確認しましたが、次のとおりです。

    #!/bin/sh

BREW_POSTGRES_DIR=`brew info postgres | awk '{print $1"/bin"}' | grep "/postgresql/"`
LION_POSTGRES_DIR=`which postgres | xargs dirname`
LION_PSQL_DIR=`which psql | xargs dirname`

sudo mkdir -p $LION_POSTGRES_DIR/archive
sudo mkdir -p $LION_PSQL_DIR/archive

for i in `ls $BREW_POSTGRES_DIR`
do
    if [ -f $LION_POSTGRES_DIR/$i ] 
    then
        sudo mv $LION_POSTGRES_DIR/$i $LION_POSTGRES_DIR/archive/$i
        sudo ln -s $BREW_POSTGRES_DIR/$i $LION_POSTGRES_DIR/$i
    fi

    if [ -f $LION_PSQL_DIR/$i ] 
    then
        sudo mv $LION_PSQL_DIR/$i $LION_PSQL_DIR/archive/$i
        sudo ln -s $BREW_POSTGRES_DIR/$i $LION_PSQL_DIR/$i
    fi  
done

どうしたの?私は専門家ではありません。どうすればこれを解決できますか。起動中にShiftキーを押してセキュアモードで起動しようとしましたが、うまくいきません。

4

1 に答える 1

2

これは、スクリプトの動作を理解せずにスクリプトを実行してはならない理由の良い例です。私の推測では、 と の一方または両方がLION_PSQL_DIRLION_POSTGRES_DIRになり、スクリプトがルート ディレクトリ内を移動してしまったのです。次の手順に従って、システムを回復できるはずです。

  1. OS X インストール ディスクをドライブに挿入し、C起動中にキーを押し続けて起動します。
  2. 「ユーティリティ」メニューから、「ターミナル」を選択します
  3. コマンドを実行しますcd /Volumes
  4. コマンドlsを実行すると、Mac のハード ドライブの名前に対応するエントリが表示されます。
  5. コマンドを実行しますcd "<name of your hard drive>"
  6. コマンドを実行しますls。問題がドライブのルートから移動したことであるarchive場合は、エントリがあります。そうでない場合は、これで問題が解決しないため停止します。
  7. コマンドcd archiveを実行して、アーカイブ ディレクトリに入ります
  8. コマンドmv * ..を実行して、アーカイブ ディレクトリ内のすべてをハード ドライブのルートに戻します。
  9. ターミナルを閉じる
  10. [ユーティリティ] メニューからディスク ユーティリティを実行し、ドライブの修復権限を使用します。
  11. コンピューターを再起動してください。
  12. そのようなランダムなスクリプトを二度と実行しないでください。

10 番目のステップは厳密には必要ない場合があります。これらの手順を自分で実行しようとしたことはありませんが、ほぼ正しいはずです。途中でエラーが発生した場合は、停止してコメントを付けてください。続行する方法を見つけようとします。

于 2012-08-22T19:46:09.883 に答える