shell 常见技巧(一)

来源:互联网 发布:临沂有淘宝交流 编辑:程序博客网 时间:2024/04/30 04:05

1.字符串连接

  通过双引号 $value2=${value1}"="

  变量连接 [root@localhost sh]# var3=${var1}${var2}


2.空操作 : 

  主要是填充保留if语句,防止报错

  if ((1==1))
  then
   :
  fi


3. source 命令和 . 命令

   当前使用shell下加载环境参数,常用于.profile 修改后的重新加载


4. echo 两个特殊选项

       Echo the STRING(s) to standard output.
       -n     do not output the trailing newline          不输出换行符
       -e     enable interpretation of backslash escapes  进行转义 默认不进行转义


5.dirname 和basename 

  basename
  从文件名中去掉路径信息, 只打印出文件名. 结构 basename $0 可以让脚本知道它自己的名字, 也就是, 它被调用的名字. 可以用来显示用法信息,   比如如果你调用脚本的时候缺少参数, 可以使用如下语句:
  echo "Usage: `basename $0` arg1 arg2 ... argn"

  dirname
  从带路径的文件名中去掉文件名, 只打印出路径信息.

  basename 和 dirname 可以操作任意字符串. 参数可以不是一个真正存在的文件, 甚至可以不是一个文件名
  [root@localhost string]# dirname /fuck/shit.txt
  /fuck
  [root@localhost string]# basename /fuck/shit.txt
  shit.txt


   获取脚本绝对路径:

   baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd) 
   echo $baseDirForScriptSelf

6.查找脚本文件和二进制文件

#查找文本文件find . -type f |xargs file |grep "script"find . -type f |xargs file |grep "script" |awk -F':' '{print $1}'|awk -F'/' '{print $NF}'
#查找二进制文件find . -type f |xargs file |grep "ELF"find . -type f |xargs file |grep "ELF"|awk -F':' '{print $1}'|awk -F'/' '{print $NF}'