linux下脚本书写注意事项
2013-12-18 18:16
330 查看
1,远程ssh执行命令中含有变量
ssh -n -o StrictHostKeyChecking=no $line "sudo cat /root/.mysqldba_emar|awk -F '=' '\$1 ~/MYSQL_PWD/{print \$2}'"
如果想将结果存入某个变量则可以(去掉commd 部分的双引号)
pwd=`ssh -n -o StrictHostKeyChecking=no $line sudo cat /root/.mysqldba_emar|awk -F '=' ' \$1 ~/MYSQL_PWD/{print \$2}'`
其中 -n 需要注意,如果你是在while循环(ip列表)里使用ssh远程登录那么-n是必须的否则while循环只会执行一次就退出
2,sed 在指定的行后面添加一行以及使用sed 进行字符替换
sed '/144.101.124.107/a\add by sed' lidan.test
UPDATE_SQL=`echo $UPDATE_SQL|sed s/emarmysqldba/$PASS/g`
3,ssh远程批量执行命令 出现sudo: sorry, youmust have a tty to run sudo
这种情况可以执行sudo sed -i 's/Defaults requiretty/#&/g' /etc/sudoers 来解决
4,字符串脚本中如何保留'' 或 ""
IS_BANGONG="mysql -umysqldba -pxxxx -e "'"select count(1) num from mysql.user where host like '"'124.205.%'"'"'" |awk -F '|' 'NR==2{print \$1}'"
这种写法经常在批量更新mysql的时候使用,在运行时sql字符串会被解析为正常的sql语句:
... -e "select count(1) num from mysql.user where host like '124.205.%' " ...
5,回到上一次的目录
cd -
ssh -n -o StrictHostKeyChecking=no $line "sudo cat /root/.mysqldba_emar|awk -F '=' '\$1 ~/MYSQL_PWD/{print \$2}'"
如果想将结果存入某个变量则可以(去掉commd 部分的双引号)
pwd=`ssh -n -o StrictHostKeyChecking=no $line sudo cat /root/.mysqldba_emar|awk -F '=' ' \$1 ~/MYSQL_PWD/{print \$2}'`
其中 -n 需要注意,如果你是在while循环(ip列表)里使用ssh远程登录那么-n是必须的否则while循环只会执行一次就退出
2,sed 在指定的行后面添加一行以及使用sed 进行字符替换
sed '/144.101.124.107/a\add by sed' lidan.test
UPDATE_SQL=`echo $UPDATE_SQL|sed s/emarmysqldba/$PASS/g`
3,ssh远程批量执行命令 出现sudo: sorry, youmust have a tty to run sudo
这种情况可以执行sudo sed -i 's/Defaults requiretty/#&/g' /etc/sudoers 来解决
4,字符串脚本中如何保留'' 或 ""
IS_BANGONG="mysql -umysqldba -pxxxx -e "'"select count(1) num from mysql.user where host like '"'124.205.%'"'"'" |awk -F '|' 'NR==2{print \$1}'"
这种写法经常在批量更新mysql的时候使用,在运行时sql字符串会被解析为正常的sql语句:
... -e "select count(1) num from mysql.user where host like '124.205.%' " ...
5,回到上一次的目录
cd -
相关文章推荐
- SQL脚本书写注意事项—性能分析(一)
- Linux编写shell脚本的注意事项
- Pig脚本书写时候注意事项
- 书写安全Shell脚本的注意事项
- Linux脚本的注意事项和命令之乐
- linux定时执行R脚本及注意事项
- qt在linux下开发注意事项
- 在linux中安装rpm版的mysql5.6的注意事项
- Linux java以及android环境的配置和注意事项
- linux0.11中的fork实现和一些注意事项
- 嵌入式linux定时器注意事项
- JavaScript脚本性能优化注意事项
- linux 下安装anaconda注意事项
- HQL语句书写注意事项
- linux下普通用户安装软件注意事项
- U盘安装WIn8.1和Centos7 linux双操作系统一些注意事项
- 在linux下用tomcat部署java web项目的过程与注意事项(转)
- U3d脚本注意事项及两个基本函数的简单介绍
- OracleSQL脚本注意事项
- linux中shell脚本注意要点