我使用的是MacOS Monterey 12.0版
我检查了根目录,我没有.bashrc
和.bashprofile
,但我的系统使用.zshrc
和.zprofile
我得到错误的
/bin/temp.sh:第3行:/Users/xyz/.bashrc:没有这样的文件或目录
temp.sh
文件第3行的代码:
#/usr/bin/env bash
source~/.bashrc.#此行导致错误
暂时,我用下面的替换了这一行,它正在中工作
#/usr/bin/env zsh
source~/.zshrc.#运行良好!!
通过搜索一些答案和帖子,我知道Mac系统正在从bash
过渡到zsh
,因为zsh
是bash
的改进版本
有人能告诉我路由.bashrc
或.bashprofile
命令以内部获取.zshrc
或.zprofile
的正确解决方案吗?
什么是最好的解决方案,使相同的脚本文件可以在具有zsh
和bash
外壳的两个系统上运行?
如果您希望脚本使用zsh
,则需要替换调用shell的第一行,使其调用zsh
而不是bash
:
#!/usr/bin/env zsh
然后确保您的脚本没有使用任何特定于bash
的内容,或者调整脚本以替换tit的";抨击;具有zsh特定等价物。
或者,您也可以创建source
所需的带有所需内容的文件。真正的问题是,为什么您的脚本试图获取.bashrc
?您的脚本想要从那里初始化哪些变量/函数/什么?