我最近安装了zsh
,现在每当我ls
或ls -l
或时,ls anything
我都会得到“非法选项”。不知道从哪里开始解决这个问题。
答案1
运行which ls
以查看究竟运行了什么以及为什么输入 ls。ls
可能被配置为别名,其选项在您的系统上不可用。
答案2
可能是别名损坏。尝试 /bin/ls
答案3
提示:
如果你发现自己没有 /bin/ls,(恢复受限的 shell / 损坏 / 崩溃)那么你可以使用
echo *
它将显示当前目录中的文件和目录(虽然不太好看,但可以工作!)
因为 echo 是一个内置的 shell,所以它总是可以工作,无需外部 unix 工具的帮助 :-)
尝试
type echo
echo 是 shell 的内置命令
这里是 bash 内置的简短列表(我没有安装 zsh)
bash defines the following built-in commands: :, ., [, alias, bg, bind,
break, builtin, case, cd, command, compgen, complete, continue,
declare, dirs, disown, echo, enable, eval, exec, exit, export, fc, fg,
getopts, hash, help, history, if, jobs, kill, let, local, logout, popd,
printf, pushd, pwd, read, readonly, return, set, shift, shopt, source,
suspend, test, times, trap, type, typeset, ulimit, umask, unalias,
unset, until, wait, while.