Bash SSH hot检查远程目录是否存在
这个想法是检查远程文件夹。它是否存在? 我试试这个 ssh-p22-ttuser@server.com'bash-d/home/test22 而且效果很好 /home/test22:/home/test22:是一个目录 与server.com的连接已关闭 但是当我试着把它和“如果”一起使用时,它是错误的…总是说“目录存在” 你能举个正确的例子吗Bash SSH hot检查远程目录是否存在,bash,ssh,directory,Bash,Ssh,Directory,这个想法是检查远程文件夹。它是否存在? 我试试这个 ssh-p22-ttuser@server.com'bash-d/home/test22 而且效果很好 /home/test22:/home/test22:是一个目录 与server.com的连接已关闭 但是当我试着把它和“如果”一起使用时,它是错误的…总是说“目录存在” 你能举个正确的例子吗 谢谢大家! 要使用的命令不是bash,而是test或其别名[: if ssh -p 22 -tt user@server.com 'test -d /
谢谢大家! 要使用的命令不是
bash
,而是test
或其别名[
:
if ssh -p 22 -tt user@server.com 'test -d /home/test22'; then
echo "That directory exists"
else
echo "That directory doesn't exists"
fi
另一件重要的事情是,[]
不是if
语法的一部分。if
后面总是跟一个命令,并且if
评估它的退出状态。因此,不需要用[]
来包围ssh
命令
-d dir
实际上是commandtest
或[
的参数
test -d dir
[ -d dir ]
相同,后一种形式需要一个结束参数。要使用的命令不是
bash
,而是test
或其别名[
:
if ssh -p 22 -tt user@server.com 'test -d /home/test22'; then
echo "That directory exists"
else
echo "That directory doesn't exists"
fi
另一件重要的事情是,[]
不是if
语法的一部分。if
后面总是跟一个命令,并且if
评估它的退出状态。因此,不需要用[]
来包围ssh
命令
-d dir
实际上是commandtest
或[
的参数
test -d dir
[ -d dir ]
相同,后一种形式需要一个结束参数。该回复看起来像一条错误消息,而不是“结果”。这样的错误会写入错误输出的
stdout
。我不知道您希望如何在条件中使用它。您可能需要查看文件
命令。与往常一样,该命令有一个手册页
。我只想检查远程目录并运行依赖条件。如果[ssh-p22-ttuser@com“[-d/home/test22]”;然后echo“该目录存在”else echo“该目录不存在”fi------类似答案:-bash:[:太多参数该回复看起来像错误消息,而不像“结果”。这样的错误会写入错误输出的stdout
。我不知道您希望如何在条件中使用它。您可能需要查看文件
命令。与往常一样,该命令有一个手册页
。我只想检查远程目录并运行依赖条件。如果[ssh-p22-ttuser@com“[-d/home/test22]”;然后echo“该目录存在”else echo“该目录不存在”fi------------类似于答案:-bash:[:参数太多