为了在尽可能多的环境中测试某些脚本1,我设置了多个具有UNIX(或类似Unix的操作系统)的VM:
不过,我认为,在许多方面,使用我计划关心的每个Shell的不同版本进行测试实际上比使用不同的操作系统进行测试更为重要。
因为我不想让我的VM看起来似乎无休止地排列,所以我想在任何给定的VM上安装每个Shell的多个版本。例如,如果我在以下环境下[:bash,:zsh,:fish,:ksh,:csh,:tcsh,:sh,:dash,:ash]
进行测试,那么我有9个shell,并且如果您假设我正在平均测试每个外壳的3个版本,那么我将拥有100多个VM:
# operating_systems * shells * shell_versions
4 * 9 * 3
有没有切实可行的方法在单个计算机或虚拟机上安装和使用给定外壳的多个版本?我可以(例如)在一个Linux VM上全部安装Bash 1,Bash 2,Bash 3和Bash 4吗?
我意识到
但是这些问题与该问题确实是分开的,因此我将这些问题放在一边,以考虑这是否可能:
那么:有没有可行的方法在一台机器上安装和使用给定外壳的多个版本?
1 我使用的是“脚本”一词。的第一件事情,我想测试的东西,将通过一个的shell源rc
文件,不管是.zshrc
,.bash_profile
或什么的,所以不会有自己的家当线。因此,使一小段代码可以跨多个外壳工作的愿望。我希望在不同的机器上使用的函数和别名可能是在shell上有用的其他东西,尽管它们不一定都拥有我最喜欢的shell(Z Shell),但可能会让我使用Bash或Korn。还有一些我可能想在多台机器的shell脚本中使用的有用的代码片段,即使当我无法将我最喜欢的shell放在shebang行中时也是如此。
2 完全切线的注释,仅包括其目的是为了避免引起任何误解:我实际上尚未设置OS X VM,因为这很麻烦,但我希望将其包括在列表中,所以没有人会说:“嘿!您为什么不包括OS X !?”
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句