#!/bin/bash dir=`ls /root//*` for i in $dir do #basename 返回一个字符串参数的基本文件名称.(只剩下文件名除去路径名) a=`basename $i` cd /root// r=`find . -name "$a"` if [ "$r"x == "./$a"x ]; then continue else scp -r $i root@ fi done
shell中比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格. if ....; then python中的条件判断: if ....: (此处是冒号,不同于shell的分号) .... (由于强制缩进,所以不需要 fi) .... (python时注意必须缩进四个字符) elif ....; then
需要编写一个较庞大的脚本时,可能会涉及许多函数.变量.这是通常建议将众多的函数.变量放入一个单独的脚本内.这样做的好处很明显,不用担心某个函数.变量是否已经被定义和使用,也不用频繁地定义.清除函数和变量. 一.函数文件的编写 函数文件的格式和脚本文件一样. [root@localhost shell]# cat function.example #函数文件中也可以不写下面这行Shell调用语句 #!/bin/bash #function example. #This is a function
脚本 first (测试示例1) #!/bin/bash echo 'your are in first file' 问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2) #!/bin/bash echo 'your are in second file' source first 方法二: 使用 . 脚本 second (测试示例3) #!/bin/bash echo 'your are in second file' . first s
原创部分: 1.获取返回值 #This is a shell to Deploy Project #!/bin/bashcheck_results=`ps -ef | grep "java"`//变量获取语句执行结果check_results=`cat a.sh` echo "command(ps-ef) results are: $check_results" 2.获取当前文件所在路径 #This is a shell to Deploy Project#!/bi
使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显示shell的全部变量.除非遇到非法的选项,否则set总是返回ture. 当BASH shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中(,,...,$n) 格式 set [--abefhkmnptuvxldCHP] [-o op