我在subl中设置了~/bin命令
但是,除非在我的终端中运行subl命令,否则我无法运行bash命令。我原以为将默认的shell从zsh更改为bash会修复它,但它没有。我仍然必须在运行bash之前运行subl,这是很烦人的。
在运行bash
bash和命令subl之间的区别是什么,在运行bash之前,应该怎么做?我刚刚开始学习真正的计算机,我知道这可能是个愚蠢的问题。非常感谢你的帮助。
TORIs-MacBook-Pro:~ taro$ echo $SHELL
/usr/local/bin/bash
TORIs-MacBook-Pro:~ taro$ subl --help
-bash: subl: command not found
TORIs-MacBook-Pro:~ taro$ bash
bash-5.0$ subl --help
Sublime Text build 3211发布于 2020-10-21 11:12:19
执行~/bin/subl
位于~/bin (通常相当于/home/user/bin)中的~/bin命令可能不在zsh的PATH变量中:
当执行命令时,命令解释器不会在计算机上到处查找,它有几个目录可供搜索。此列表存储在名为PATH的环境变量中。它包含了这样的内容:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games在我的例子中,~/bin不在列表中,但是我可以为这个会话添加它,只执行PATH="$PATH:~/bin",或者在zsh开始时将它包括在~/..zshrc中:
PATH="$PATH:~/bin"现在我的道路是:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/bin更改默认的shell
我不确定它如何与macOS X一起工作,但是在Linux上要更改默认的shell,您需要执行以下命令行:
$ chsh -s /bin/bash注意到:-s 后面的参数必须是通向解释器的路径,比如bash。
例如,您可以使用which bash找到它的路径。
然后重新启动你的终端或者登入。
:参见下面关于倾斜扩张的第一条评论(感谢@Charles )
https://stackoverflow.com/questions/64460474
复制相似问题