org-babel shell 总是绑定到 "fish"

org-babel shell always binds to "fish"

我在主笔记本电脑上将出色的 fish shell 设置为默认值 shell。出于可移植性原因(以及可编辑性原因,因为编辑 fish shell 源代码块存在错误且速度缓慢)我有时仍然希望在我的 org-mode 源代码中使用 shbash块。似乎 org 总是解析为 fish,无论我尝试什么:

#+BEGIN_SRC sh
echo $SHELL
#+END_SRC

#+RESULTS:
: /usr/bin/fish

#+BEGIN_SRC bash
echo $SHELL
#+END_SRC

#+RESULTS:
: /usr/bin/fish

#+BEGIN_SRC fish
echo $SHELL
#+END_SRC

#+RESULTS:
: /usr/bin/fish

#+BEGIN_SRC shell
echo $SHELL
#+END_SRC

#+RESULTS:
: /usr/bin/fish

org-babel-shell-names 设置为 ("sh" "bash" "zsh" "fish" "csh" "ash" "dash" "ksh" "mksh" "posh")。我该如何调试?或者有什么方法可以将 shell 全局设置为 bash org-babel?我在提交 5fcd84d84 和最新的 org-mode.

时使用带有 spacemacs 配置的 emacs 26.3

我想你会发现 SHELL 环境变量不是你想的那样。

尝试回显 [=11=] 或 运行 任何内置的 shell 命令,它将给出 shell 特定的输出(bash 有一个help 命令,例如)。