Bash 检测mac上是否安装了coreutils

Bash 检测mac上是否安装了coreutils,bash,macos,gnu-coreutils,Bash,Macos,Gnu Coreutils,如果不使用,我如何检测coreutils是否安装在运行bash脚本的mac上 这是我的剧本: #!/usr/bin/env bash check_bash_version () { echo "checking which bash version is installed...." sleep 3 echo "Bash versioncheck completed" sleep 1 if [[ "${BASH_VERSINFO[0]}" -lt 4 ]]; then

如果不使用,我如何检测coreutils是否安装在运行bash脚本的mac上

这是我的剧本:

#!/usr/bin/env bash

check_bash_version () {
  echo "checking which bash version is installed...."
  sleep 3
  echo "Bash versioncheck completed"
  sleep 1
  if [[ "${BASH_VERSINFO[0]}" -lt 4 ]]; then
    echo "You need to be using Bash version =< 4. Please upgrade"
    exit 1
  fi
}

check_coreutils () {
  echo "checking if coreutils is installed...."
  sleep 3
  # what goes here
}

main() {
  # Main function.

  # check if MacOS
  if [[ "$(uname)" == "Darwin" ]]; then
    check_bash_version
    check_coreutils
  fi
}
#/usr/bin/env bash
检查\u bash\u版本(){
echo“检查安装了哪个bash版本…”
睡眠3
回显“Bash版本检查已完成”
睡眠1
如果[[“${BASH_VERSINFO[0]}”-lt 4]];则
echo“您需要使用Bash版本=<4。请升级”
出口1
fi
}
检查\u coreutils(){
echo“检查是否安装了coreutils…”
睡眠3
#这里有什么
}
main(){
#主要功能。
#检查是否有MacOS
如果[[“$(uname)”=“Darwin”];则
检查\u bash\u版本
查核
fi
}

通常GNU工具的存在是通过使用工具的
--version
输出来完成的,并检查其中是否有字符串
GNU

通常GNU工具的存在是通过使用工具的
--version
输出来完成的,并检查其中是否有字符串
GNU

1。从coreutils中选择一个工具。2.输出<代码>--此工具的版本。3.检查输出是否包含字符串GNU。谢谢@KamilCuk。如果你把你的评论作为回答,那么我可以接受。您的错误消息应该是
,您需要使用bash版本>=4
.1。从coreutils中选择一个工具。2.输出<代码>--此工具的版本。3.检查输出是否包含字符串GNU。谢谢@KamilCuk。如果你把你的评论作为回答,那么我可以接受。您的错误消息应该是
您需要使用bash version>=4
。只有当您实际使用GNU版本替换mac的旧BSD版本的coreutils时,这才有效。如果您通过自制安装GNU coreutils,它们不会取代它们,而是安装在brew文件夹的一侧,并以前缀为
g
的二进制名称进行调用,因此,例如
gcomm
只需
comm
。因此,如果例如
comm--version
没有返回GNU字符串,您还应该检查
gcomm--version
。只有当您实际使用GNU字符串替换mac的旧BSD版本的coreutils时,这才有效。如果您通过自制安装GNU coreutils,它们不会取代它们,而是安装在brew文件夹的一侧,并以前缀为
g
的二进制名称进行调用,因此,例如
gcomm
只需
comm
。因此,如果例如
comm--version
没有返回GNU字符串,您还应该检查
gcomm--version