AppleScript:shell脚本之间的延迟

AppleScript:shell脚本之间的延迟,shell,applescript,delay,scp,mkdir,Shell,Applescript,Delay,Scp,Mkdir,我尝试这样做: do shell script "mkdir -p " & workingDir & userName do shell script "/usr/local/bin/sshpass -p " & userPass & " scp -pr " & userName & "@localhost:\"/Users/" & userName & "/Desktop/*\" " & workingDir &

我尝试这样做:

do shell script "mkdir -p " & workingDir & userName

do shell script "/usr/local/bin/sshpass -p " & userPass & " scp -pr " & userName & "@localhost:\"/Users/" & userName & "/Desktop/*\" " & workingDir & userName
脚本在我的Mac上创建文件夹,然后将数据从远程Mac复制到此文件夹

我得到了这个错误:
error“packet\u write\u wait:Connection to::1端口22:breaked pipe”编号1

但是,如果我在两行之间设置
delay10
,它可以正常工作

那么我的问题是,我如何才能毫不拖延地以优雅的方式解决它呢

顺便说一下,我已经试过了:

  • 使用
    的解决方案将PID设置为
    并重复
    直到
    。这没用

  • 使用
    &&
    符号(也使用
    符号)在一行中设置两行。这没有帮助:

  • do shell脚本”/usr/local/bin/sshpass-p“&userPass&&&rsync
    -r“&userName&”@localhost:\“/Users/”&userName&“/Desktop*\”“&workingDir&userName


    我倾向于认为这个问题不存在于一个命令中的两个命令,但AppleScript不允许长命令完成其活动…

    我已经尝试了“;”但它不起作用。我查了一下“&&”也没用,我很好奇为什么你认为添加一个
    延迟
    行是不雅观的。我的意思是,您可以使用unix
    sleep
    函数,将shell脚本连接到一行中。这样会更好吗?想到的另一件事是更改第二个DSS,以便首先将
    cd
    放入工作目录并使用相对路径。
    cd
    命令应该确保目录可以使用,避免任何延迟。我将代码(两行脚本mkdir+scp)更改为:do shell script”/usr/local/bin/sshpass-p“&userPass&“rsync-r”&userName&@localhost:\“/Users/”&userName&“/Desktop/*\”“&workingDir&userName,但这种情况仍然存在。我认为AppleScript会在此行结束前关闭DSS。