在Linux Bash脚本中生成和testingMAC与PC的variables

我支持两个小组。 我有一个脚本,我想保持在一个。 我有一个testingfunction的麻烦:

convtype=./Sample*/ if [[ -n convtype ]]; then 

它对一些用户而言运行良好,但对其他用户来说却不是。 我注意到的一件事情是,对于从PC运行它的人来说,根据目录中的内容返回值或空string,所以我的if语句将计算为true或false。 对于MAC用户,它总是评估一个string,因此总是如此。

如果我将这两行改为:

  if [[ -d Sample*/ ]]; then 

如果适用于MAC用户,而不适用于PC用户。

我正在寻找一种方法来告诉哪种types的机器正在运行的脚本或不同的方式来产生/testing将工作的variables不pipe。 build议最赞赏。

如果目标是testing一个目录是否存在,并且两个系统都在bash中运行,那么你可以在这个工作示例中find这个工作解决scheme

 if ls /path/to/your/files* 1> /dev/null 2>&1; then echo "files do exist" else echo "files do not exist" fi