Linux Expect:如何通过ssh命令创建远程目录

Linux Expect:如何通过ssh命令创建远程目录,linux,shell,ssh,tcl,expect,Linux,Shell,Ssh,Tcl,Expect,我正在尝试使用下面的expect脚本在远程服务器中创建目录,但出现错误 spawn ssh $username@$ipaddress 'mkdir $destination/$dir_to_be_copied' expect "?assword:" send "$password\r" expect eof 但是我得到了下面的错误 mkdir <MY NEW DIRECTORY>: No such file or directory mkdir:没有这样的文件或目录 我想问题不

我正在尝试使用下面的expect脚本在远程服务器中创建目录,但出现错误

spawn ssh  $username@$ipaddress 'mkdir $destination/$dir_to_be_copied'
expect "?assword:"
send "$password\r"
expect eof
但是我得到了下面的错误

mkdir <MY NEW DIRECTORY>: No such file or directory
mkdir:没有这样的文件或目录

我想问题不是由于
Expect
造成的。从错误消息中,很可能是文件夹
$destination
本身不可用。 先检查一下

试试这个

mkdir-p$destination/$dir\u to\u被复制

单引号(
'
)在
Tcl/Expect
中并不特殊,因此您应该编写

spawn ssh $username@$ipaddress "mkdir $destination/$dir_to_be_copied"
或者只是

spawn ssh $username@$ipaddress mkdir $destination/$dir_to_be_copied

单引号不是必需的。