首页 > 系统相关 >Shell下判断一个命令是否存

Shell下判断一个命令是否存

时间:2023-04-24 19:14:24浏览次数:35  
标签:Aborting Shell echo 命令 判断 exit installed foo

  • which非SHELL的内置命令,用起来比内置命令的开销大,并且非内置命令会依赖平台的实现,不同平台的实现可能不同。
  • 很多系统的which并不设置退出时的返回值,即使要查找的命令不存在,which也返回0

较为合适的判断方式

command -v foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
type foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
hash foo 2>/dev/null || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
if ! [ -x "$(command -v git)" ]; then
  echo 'Error: git is not installed.' >&2
  exit 1
fi

 

标签:Aborting,Shell,echo,命令,判断,exit,installed,foo
From: https://www.cnblogs.com/outsrkem/p/17350549.html

相关文章

  • shell 脚本中定义log日志
    #!/bin/bashworkspace=$(cd`dirname$0`/.;pwd)cd$workspacefunction_log_error(){echo-e"\033[31m[ERROR]\033[0m$@"}function_log_info(){echo-e"\033[32m[INFO]\033[0m$@"}function_log_warn(){echo-e"\0......
  • docker 常用命令
    docker常用命令dockerps 查看当前运行中的容器dockerimages 查看镜像列表dockerrmcontainer-id 删除指定id的容器dockerstop/startcontainer-id 停止/启动指定id的容器dockerrmiimage-id 删除指定id的镜像dockervolumels 查看volume列表dockernetwork......
  • 命令总结
    #########################linux#########################tftp传送文件命令下载到本地:tftp-gr文件名服务器ip(tftp软件打开的ip,一般是window的ip)上传到服务器:tftp-pl文件名服务器ip(tftp软件打开的ip,一般是window的ip)共享复制粘贴sudoapt-getautoremoveopen-vm-......
  • kubectl 命令 --save-config 将部署信息添加到注解,防止deploy或webhook通过注释添加
    1、--save-config为什么需要使用kubctlapply保存配置?kubectl apply<file.yaml>--save-config创建或更新部署,并将部署另存为元数据。文件上说--save-config[=false]:如果为true,则当前对象的配置将保存在其注释中。当您将来要对此对象执行kubectlapply时,这非常有用。为什么......
  • Linux命令(二)
    一.vim编辑器快速体验使用:vimhello.txt,编辑一个新文件,执行后进入的是命令模式。在命令模式内,按键盘i,进入输入模式。在输入模式内输入想要输入的文本输入完成后,按esc回退到命令模式在命令模式内,按键盘:,进入底线模式在底线命令内输入:wq,保存文件并退出vim编辑器命令模......
  • 命令执行中cat 和tac的区别
    命令执行中cat和tac的区别导引在最近的一道简单的命令执行题目中当使用?c=system('catf');时,发现并不能在网页上显示内容,而如果使用?c=system('tacf');时,内容就能显示出来分析 正则过滤了flag,我们可以使用通配符'*'或者匹配符'?'绕过c?=syetem('ls');//查看一下文......
  • DOS命令
    盘符切换:英文状态下的盘符名称+:,回车查看当前目录下的所有文件:dir切换目录:cd+空格+/d+目录cd..:返回上一级cd+当前目录下的文件名称cls:清理屏幕exit:退出终端ipconfig:查看IP地址calc:打开计算器ping+网址:得到IP地址md目录名:创建文件夹......
  • NETAPP fans270c巡检命令
    1.查看环境信息   SXTY-PS-MMSC1-STORAGE-1A>environmentstatus2.查看系统信息详情 SXTY-PS-MMSC1-STORAGE-1A>sysconfig-a SXTY-PS-MMSC1-STORAGE-1A>sysconfig-A3.查看磁盘owner信息 SXTY-PS-MMSC1-STORAGE-1A>diskshow-v4.查看raid组详情 SXTY-PS-MM......
  • nproc命令
    NAME      nproc-printthenumberofprocessingunitsavailableSYNOPSIS      nproc[OPTION]...DESCRIPTION      Print thenumberofprocessingunitsavailabletothecurrentprocess,      whichmaybelessthanthenumberofonli......
  • 详解Python当中的pip常用命令
    相信对于大多数熟悉Python的人来说,一定都听说并且使用过pip这个工具,但是对它的了解可能还不一定是非常的透彻,今天小编就来为大家介绍10个使用pip的小技巧,相信对大家以后管理和使用Python当中的标准库会有帮助。安装当然在Python3.4版本之后以及Python2.7.9版本之后,官网的安装......