如何检查scp命令是否可用?

时间:2011-06-02 14:45:20

标签: scp

我正在寻找一个允许我检查scp命令是否可用的多平台解决方案。

问题是scp没有--version命令行,当没有参数调用时,它将返回退出代码1(错误)。

更新:如果不清楚,通过多平台我的意思是一个可以在Windows,OS X和Linux上运行的解决方案,而不需要我安装任何东西。

2 个答案:

答案 0 :(得分:5)

使用命令which scp。它可以让您知道命令是否可用以及它的路径。如果scp不可用,则不返回任何内容。

答案 1 :(得分:2)

#!/bin/sh

scp_path=`which scp || echo NOT_FOUND`

if test $scp_path != "NOT_FOUND"; then
        if test -x ${scp_path}; then
                echo "$scp_path is usable"
                exit 0
        fi
fi
echo "No usable scp found"

sh没有内置的,因此我们依赖于系统提供的哪个命令。我不完全确定是否需要-x检查 - 在我的系统上实际验证找到的文件是否可由用户执行,但这可能不是可移植的。在极少数情况下系统没有哪个命令,可以在这里写一个函数。