如何检查scp命令是否可用?
我正在寻找一个多平台解决方案,它允许我检查如何检查scp命令是否可用?,scp,Scp,我正在寻找一个多平台解决方案,它允许我检查scp命令是否可用 问题在于,scp没有--version命令行,当在没有参数的情况下调用时,它将返回退出代码1(错误) 更新:如果不清楚的话,我所说的多平台是指一种可以在Windows、OS X和Linux上运行的解决方案,而不需要我安装任何东西。使用命令哪个scp。它让您知道命令是否可用,以及它的路径。如果scp不可用,则不返回任何内容 #!/bin/sh scp_path=`which scp || echo NOT_FOUND` if tes
scp
命令是否可用
问题在于,scp没有--version
命令行,当在没有参数的情况下调用时,它将返回退出代码1
(错误)
更新:如果不清楚的话,我所说的多平台是指一种可以在Windows、OS X和Linux上运行的解决方案,而不需要我安装任何东西。使用命令
哪个scp
。它让您知道命令是否可用,以及它的路径。如果scp不可用,则不返回任何内容
#!/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函数。
Windows上没有which
此线程对我很有帮助:。正如这里的答案中所提到的,对于非windows系统,您应该使用哪个scp
。在windows系统上,您将使用where.exe scp