bleer

欢迎你来到我的空间哦~

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

脚本t.sh如下,执行成功

#!/bin/bash

source ./env.sh


    ssh -i ${KEY} ${SLAVE_IP} << exe_cmd

    cd /usr/local
    rm -rf nestdb_master
    exit
    exe_cmd

    echo done

 

脚本t2.sh如下,执行失败

 

 

 

疑问:为什么同样的语句,放在function里面会失败??应该如何解决??

修改为如下这样,把exe_cmd前面空格删掉,就执行ok

 

 为啥必须顶格写才能识别??

后来,搜到了答案,原来shell里面<<符号是一种特殊的重定向,有个专有的名字叫here document,它有自己的语法格式,用法如下:

cmd  << delimeter

    xxxxx

delimeter

语法规定了这里的delimeter必须顶格写,前后加空格,tab都不行的。原来如此啊。

 

posted on 2020-03-25 20:58  bleer  阅读(508)  评论(0)    收藏  举报