`
venceinfo
  • 浏览: 36395 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

shell小结(13)

阅读更多
function check_space()
{
   local check_dir=$1
   local need_space=$2
   local avail=$(df -B1m $check_dir | sed -n '$p' | awk '{print $(NF-2)}')

   [ $avail -le $need_space ] && \
   die "not enough space in ${check_dir} (need:${need_space}M available:${avail}M)"
}
-------------------------------------------------------------------------------------------
#利用root用户执行,得到oracle的版本
su - oracle -c "sqlplus -version" | grep "11.1.0.6"
-------------------------------------------------------------------------------------------
#求操作系统的版本:
NEW_VERSION=`uname -r|cut -d - -f 1`-`uname -r|cut -d - -f 2`
-------------------------------------------------------------------------------------------
#!/bin/bash

#true是关键字
while true
do
  echo "ok"
done
-------------------------------------------------------------------------------------------
for f in ${files[@]}
do
    cfgs=`{
            while read line
            do
               echo $line | grep -o '${.[^${}]*}' | sed -e 's/${//g' | sed 's/}//g'
            done
           } < $f`

    cfgarr=(`echo $cfgs | tr -s ' ' '\n' | sort -u | tr -s ''`)
done

这里的{}可有可无

注意:tr -s ''只有在``之间,才会自动将换行转为空格,其他情况不会
#得到自然排序的数组
retStr=`echo $localnetypelist |  tr -s ' ' '\n' | sort | tr -s ''`
retArr=($retStr)
-------------------------------------------------------------------------------------------

#这个例子就可以看出:$()要比``好,如果使用``则会报错
#!/bin/bash
set -x
str="my name is AAAAA"

xx="AAAAA"
name=xx
newname="BBBBB"
VV=$(eval echo \${$name})
ret=`echo $str | sed "s/${VV}/${newname}/g"`

echo $ret

另一种方法:把eval写在一个函数中
function getValue
{
	eval echo $1
}

注意:
这里sed的用法,利用的是"",这样的好处就是:对于替换的变量,可以直接以${}使用,而不必再加上''

#sed替换文件中的字符串的常用方法:
sed "s|$old_result|${result}|g" $result_path > temp.$$.$$
mv temp.$$.$$ $result_path

#sed用法补充:
sed '/pam_securetty.so/'c\ "#${LINE}" /etc/pam.d/login_bak  >  /etc/pam.d/login

#当使用多个s进行替换操作时,这时的/方式就会报错,而下面的三种方式都可以
echo "abc" | sed "s#a#A#;s|b|B|;s:c:C:;"

function create_pxe_file()
{
	local CMD1="s|<vmware-inst-server>|$DMS_SERVER|;\
							s|<vmware-inst-path>|$NFS_PATH|;\
							s|<linux-conf-server>|$DMS_SERVER|;\
							s|<linux-conf-path>|$LINUX_CONF_PATH|;\
							s|vmware-ks|$CONTROL_FILE|;\
							s|ethX|$NET_DEVICE|;\
							s|<tftp-server>|$DMS_SERVER|;\
							s|<linux-addon-server>|$DMS_SERVER|;\
							s|<linux-addon-path>|$ADDON_PATH|;"

	sed -e "$CMD1" $PXE_TEMPLATE_FILE > $PXE_PATH/"01-${BLADE_MAC}" 
}

 

分享到:
评论

相关推荐

    shell 编程小结

    shell 编程小结

    shell 编程指南pdf

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    Bash Shell脚本入门小结

    摘要:对于经常使用Shell命令的朋友来说,掌握基本的Shell脚本语法就可以着手编写Shell脚本了。因此,在文档中,鄙人以介绍Shell语法为重点,必要之处,附以命令、语法的使用说明,所谓“寓情于景、寓理于事”,可以...

    shell编程中的字符串截取方法小结

    一、Gnu Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr(,1,8)}’ 3.echo $a|cut -c1-8 4.echo $ 5.expr $a : ‘\(.\\).*’ 6.echo $a|dd bs=1 count=8 2&gt;...

    Shell编程下的AWK语法小结

    shel awk 学习:Shell编程下的AWK语法小结

    unix--shell的一些特殊参数小结

    Unix Shell 编程一些常用但是又容易忘记的东西。 描述参数输入、回车换行、以及算法。

    LINUX与UNIX SHELL编程指南(很全)

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    Seacms代码审计小结(后台多处getshell)1

    在框架中,有很多是写的是以 txt 结尾的件,这种直接读是法以 php 来解析,但是如果找到处件包含的漏洞,让他包含的是这种我们可以修改的件,那就也可以造成代码

    python中执行shell命令的几个方法小结.docx

    python中执行shell命令的几个方法小结.docx

    Linux与unix shell编程指南

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    Shell脚本if else语句小结

    和Java、PHP等语言不一样,sh的流程控制不... 代码如下: &lt;?...if (isset($_GET[“q”])) {  search(q); } else {  //do nothing ...在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: ...

    绝版经典《Linux与UNIX Shell编程指南》

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    LINUX与UNIX SHELL编程指南 高清PDF

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    Linux shell 编程

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    用Shell判断字符串包含关系的方法小结

    以下给出一些shell中判断字符串包含的方法,来源程序员问答网站 stackoverflow 以及segmentfault。 方法一:利用grep查找 strA=long string strB=string result=$(echo $strA | grep ${strB}) if [[ $result != ]] ...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    绝版经典 LINUX与UNIX SHELL编程指南 PDF 高清版 [16.3M]

    第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三...

    LINUX与UNIX SHELL编程指南

    第十五章 小结 第四部分 基础SHELL编程 第十六章 SHELL脚本介绍 第十七章 条件测试 第十八章 控制流结构 第十九章 SHELL函数 第二十章 向脚本传递参数 第二一章 创建屏幕输出 第二二章 创建屏幕输入 第二三章 调试...

    linux shell 编程教程

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

Global site tag (gtag.js) - Google Analytics