首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >作为默认shell的bash与运行'bash‘有什么区别?

作为默认shell的bash与运行'bash‘有什么区别?
EN

Stack Overflow用户
提问于 2020-10-21 09:19:26
回答 1查看 79关注 0票数 0

我在subl中设置了~/bin命令

但是,除非在我的终端中运行subl命令,否则我无法运行bash命令。我原以为将默认的shell从zsh更改为bash会修复它,但它没有。我仍然必须在运行bash之前运行subl,这是很烦人的。

在运行bash

  • Why之前,默认的bash和命令subl之间的区别是什么,在运行bash之前,应该怎么做?

我刚刚开始学习真正的计算机,我知道这可能是个愚蠢的问题。非常感谢你的帮助。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-21 11:12:19

执行~/bin/subl

位于~/bin (通常相当于/home/user/bin)中的~/bin命令可能不在zshPATH变量中:

当执行命令时,命令解释器不会在计算机上到处查找,它有几个目录可供搜索。此列表存储在名为PATH的环境变量中。它包含了这样的内容:

代码语言:javascript
复制
$ 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中:

代码语言:javascript
复制
PATH="$PATH:~/bin"

现在我的道路是:

代码语言:javascript
复制
$ 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,您需要执行以下命令行:

代码语言:javascript
复制
$ chsh -s /bin/bash

注意到:-s 后面的参数必须是通向解释器的路径,比如bash。

例如,您可以使用which bash找到它的路径。

然后重新启动你的终端或者登入。

:参见下面关于倾斜扩张的第一条评论(感谢@Charles )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64460474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档