bash - 如何在 Bash 脚本中执行 Zsh shell 命令

标签 bash shell zsh

我想在 Bash 脚本中执行 Zsh 函数命令。这是一个例子:

~/.zshrc

hello () {
  echo "Hello!"
}

你好

#!/bin/bash
hello

在 zsh 中执行上面的 bash 脚本

(zsh) $ ./hello.sh
hello command not found

我也试过 heredocs:

#!/bin/bash
/bin/zsh - <<'EOF'
  hello
EOF

用 heredocs 执行上面的脚本也说找不到命令错误。

有什么建议吗?

谢谢!

最佳答案

你可以这样使用它:

#!/bin/bash

/bin/zsh -i -c hello

-i : 强制 shell 交互

然后,如果 shell 是交互式的,命令从 /etc/zshrc 读取,然后是 $ZDOTDIR/.zshrc(这通常是你的 $HOME/.zshrc)

-c :在此 shell 中运行命令

关于bash - 如何在 Bash 脚本中执行 Zsh shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665820/

相关文章:

macos - Bash:管道输出到后台进程?

string - 如何判断有多少文件与 unix 中的描述匹配

bash - 为什么 bash 提示符(PS1)会附加 ghost 命令?

arrays - 从数组中删除条目

zsh - 我如何要求最低版本的zsh?

linux - 我怎样才能找到谁调用了我的 bash 应用程序

php - Ubuntu sed 创建重复的行而不是只返回一个替换的行

linux - If语句在shell脚本中抛出意外的文件结尾

linux - 在 BASH 中,我需要根据 perl 脚本的输出更改一些环境变量。在 tcsh 中,我可以使用别名 eval 组合。不能在 bash 中

cygwin zsh 首次启动 : command not found