Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash SSH hot检查远程目录是否存在_Bash_Ssh_Directory - Fatal编程技术网

Bash SSH hot检查远程目录是否存在

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 /

这个想法是检查远程文件夹。它是否存在? 我试试这个

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 /home/test22'; then
    echo "That directory exists"
else
    echo "That directory doesn't exists"
fi
另一件重要的事情是,
[]
不是
if
语法的一部分。
if
后面总是跟一个命令,并且
if
评估它的退出状态。因此,不需要用
[]
来包围
ssh
命令

-d dir
实际上是command
test
[
的参数

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
实际上是command
test
[
的参数

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:[:参数太多