情况:编写 shell 脚本来跨多个 shell 执行某些操作
问题:虽然 Bourne 兼容的 shell 脚本(bash
、ksh
、ash
、zsh
等)很容易移植(只需确保脚本兼容sh
并且它应该在其他 Bourne 兼容的 shell 上运行),但与那些不兼容 POSIX,例如csh
和fish
。由于语法错误(预期),在这些 shell 上运行时脚本将立即失败。
问题:有没有办法编写一个脚本,使其可以在所有 shell 中执行,而不管各个 shell 的 POSIX 兼容性如何?我想不出一种方法可以在不触发语法错误并导致脚本自行退出的情况下执行此操作。