我将优秀的fish外壳设置为我的笔记本电脑上的默认外壳。出于可移植性的原因(以及可编辑性的原因,因为编辑fish shell源代码块是一种错误且缓慢的方式),我有时仍然喜欢在我的org-mode源代码块中使用sh或bash。不管我怎么尝试,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/fishorg-babel-shell-names设置为("sh" "bash" "zsh" "fish" "csh" "ash" "dash" "ksh" "mksh" "posh")。我该如何调试它?或者,有没有办法将org-babel的外壳设置为全局bash?我使用的是Emacs26.3,它在提交模式和最新的组织模式中使用了5fcd84d84配置。
发布于 2020-06-13 19:47:48
我想您会发现SHELL环境变量并不是您认为的那样。
尝试回显$0 --或者运行任何内置的外壳命令,它将提供特定于外壳的输出(例如,bash有一个help命令)。
https://stackoverflow.com/questions/62357964
复制相似问题