shell:使用command判断一个命令是否存在

示例 test.sh

#!/usr/bin/bash

if ! command -v git >/dev/null 2>&1; then
    # 命令不存在
    echo 'git not exists'
else
    # 命令存在
    echo 'git exists'
fi

测试

$ bash test.sh 
git exists

注意:

这里不能加方括号,如果加了方括号,以下命令的执行结果将永远都是存在

#!/usr/bin/bash

if [ ! command -v gitxx >/dev/null 2>&1 ]; then
    # 命令不存在
    echo 'gitxx not exists'
else
    # 命令存在
    echo 'gitxx exists'
fi

# 输出
# gitxx exists

执行内部命令和外部命令

#!/bin/bash

function foo(){
    
    
    echo $1
}


echo 'hi'

command 'echo' 'hi'

# exec 'echo' 'hi'

eval 'foo' 'hi'

输出结果

hi
hi
hi

参考
[SHELL]判断一个命令是否存在

猜你喜欢

转载自blog.csdn.net/mouday/article/details/128549081
今日推荐