【问题标题】:How to check if scp command is available?如何检查 scp 命令是否可用?
【发布时间】:2011-09-07 03:35:59
【问题描述】:

我正在寻找一种多平台解决方案,可以让我检查scp 命令是否可用。

问题是 scp 没有--version 命令行,并且在没有参数的情况下调用它会返回退出代码1(错误)。

更新:如果不清楚,我所说的多平台是指无需我安装任何东西即可在 Windows、OS X 和 Linux 上运行的解决方案。

【问题讨论】:

  • 这个帖子对我很有帮助:stackoverflow.com/questions/304319/…。如此处的答案中所述,您将 which scp 用于非 Windows 系统。在 Windows 系统上,您将使用 where.exe scp

标签: scp


【解决方案1】:

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

【讨论】:

  • which 在 Windows 上不可用
【解决方案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 没有内置的 which,因此我们依赖于系统提供的 which 命令。我不完全确定是否需要 -x 检查 - 在我的系统上实际验证找到的文件是否可由用户执行,但这可能不可移植。在系统没有which命令的罕见情况下,可以在这里写一个which函数。

【讨论】:

    猜你喜欢
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2015-04-07
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多