disk_comm="/bin/df -m |grep -v Filesystem |awk 'BEGIN{size=0} {for(i=1;i<=NR;i++){size=size+\$2}} END{print size/1024\"G\"}'"ssh ip ${disk_comm}
#由于awk命令要在ssh远程使用,所以在使用 $ 或者 " 时,需要加转义
ss -ant |awk 'NR != 1 {s[$1]++} END{for(key in s) print s[key],key}'
#使用awk,将相同的列($1)存放到归到s数组中,每遇到相同的key,s[key]则加一
exe_comm="/bin/ps -ef | grep EXEglobalserver | grep -v grep | awk -F"/" '{print \$NF}' | awk -F"_" '{print \$1\"-\"\$2}' | sort -n | tr \"\n\" \" \""exe=(`ssh ip ${exe_comm}`)
#通过tr将换行符转换为空格,使之能导入 () 中以元组格式存放
#不需要将换行符转化为空格也可以存入元组
echo "select \`user\`,\`host\` from user" | mysql -uroot -p123 mysql > ./1.txtcat ./1.txt | while read xdo echo $xdonefor y in `cat ./1.txt`do echo $ydone
#由于 ` 在shell中为获取命令结果,所以在使用时需要转义,使之在mysql可以防止关键字冲突
#在shell中使用mysql获取结果集存在文件,在对其操作时,使用for i in `cat`每次遍历的将是结果集一条数据中的一个字段,而不是单条数据;使用while read则可以获取单行,且可以避免数据量过大导致内存溢出
while [[ -e domain_list.txt ]]do read domain echo $domain >> domain_list.txt if [[ "${domain}" == "" ]] then break fidone
#标准输入中读取数据复制给变量,再将变量写入文件,直到输入回车为止