我不小心将>
字符放在brew命令(Homebrew)之前,之后,我不确定brew命令是否正在执行,因为它们没有输出任何内容。
我重新启动了终端和计算机,但它会继续保持不变。
Mac OS X Sierra
答案 0 :(得分:0)
运行以下命令以恢复brew
:
$ git -C /usr/local/Homebrew reset --hard origin/master
正如@that other guy指出的那样,您使用重定向到brew
创建了一个空文件。
$ >brew some command
相当于:
$ some command > brew
这意味着您运行some command
并将其输出发送到名为brew
的文件中。如果该命令失败而没有输出任何内容(除了错误),它会将其变为空文件。
避免现有文件出现此问题的一种方法是使用set -C
:
$ echo foo > myfile
$ echo bar > myfile
$ cat myfile
bar
$ set -C
$ echo foo > myfile
$ echo bar > myfile
bash: myfile: cannot overwrite existing file
$ cat myfile
foo
使用此设置,您必须先删除目标文件,然后重定向输出,或使用>|
:
$ echo bar > myfile
bas
$ echo bar >| myfile
$ cat myfile
bar
然而,这只是一种预防措施,所以一旦你覆盖了你的文件就太晚了。
要检索原始brew
,请重置其git存储库(通常为/usr/local/Homebrew
):
$ git -C /usr/local/Homebrew reset --hard origin/master