为什么在单个任务中使用多种类型的shell?

问题描述 投票:0回答:1

我是高性能计算的新手,我继承了我正在处理的任务的一些现有代码。就目前而言,我有一个基于Linux的HPC,它使用MPI和PBS来排队和运行作业。我继承的是动态构建并向队列提交PBS脚本的python脚本,但是通过单个作业的过程,在各个点调用.sh,.csh和.ksh脚本,并且大多数shell脚本都是非常简单,通常少于10行。在一个作业中使用多种不同的贝壳口味有什么好处吗?有没有明显的理由我不应该把它们全部转换成单一的味道?

linux bash ksh csh
1个回答
1
投票

在一个作业中使用多种不同的贝壳口味有什么好处吗?

不大可能。

这些shell之间的主要区别,特别是在这种范围内,将只是它们的语法。特别是,csh对某些控制结构使用更像“C-like”的语法,如iffor; ksh将更类似于您可能熟悉的Bash语法。它们的功能集基本相同。

使用这些解释器的最可能原因很简单:脚本是很久以前由不同的作者编写的,之前就使用Bash shell达成了共识。 (如果它们足够老,那么当时Bash不存在甚至可能 - 1978年和1983年发布了csh和ksh,而Bash直到1989年才出现。)

© www.soinside.com 2019 - 2024. All rights reserved.