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密钥来启动您的 OS X 安装光盘。
  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 回答