ssh执行远程命令和bash -c string的用法
说明:
今天在学习k8s的Run a Replicated Stateful Application (运行一个有状态应用的副本)时,官网上给出StatefulSet yaml配置文件中出现如下内容:
spec: initContainers: - name: init-mysql image: mysql:5.7 command: - bash - "-c" - | set -ex # Generate mysql server-id from pod ordinal index. [[ `hostname` =~ -([0-9]+)$ ]] || exit 1 ordinal=${BASH_REMATCH[1]} echo [mysqld] > /mnt/conf.d/server-id.cnf # Add an offset to avoid reserved server-id=0 value. echo server-id=$((100 + $ordinal)) >> /mnt/conf.d/server-id.cnf # Copy appropriate conf.d files from config-map to emptyDir. if [[ $ordinal -eq 0 ]]; then cp /mnt/config-map/master.cnf /mnt/conf.d/ else cp /mnt/config-map/slave.cnf /mnt/conf.d/ fi
其中的bash -c有些不明白,所以man bash查看下:
-c string If the -c option is present,then commands are read from string. If there are arguments after the string,they are assigned to the positional parameters,starting with $0.
参考文档:
http://baohaojun.github.io/blog/2013/12/11/0-ssh-remote-command-and-bash--c-string.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。