随笔分类 - Bash
摘要:判断变量是否相等,最好使用 != == ,而 -ne -eq -gt -lt -ge -le 适用于int类型比较 int和float使用-ne发生错误 int和float使用 != 没有问题当变量不存在时的情况 [ ]进行判断时,报错 替换成 != 和 == 正确[[ ]]的情况: 没有报错,但是
阅读全文
摘要:cut Usage: cut OPTION [FILE] Print selected parts of lines from each FILE to standard output -b --bytes=LIST 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
阅读全文
摘要:seq用于生成一个序列 seq [option] first increment last 选项: -f --format=FORMAT 使用 printf 样式的浮点格式 -s --separator=STRING 使用指定字符串分隔数字(默认:\n) -w --equal-width 在数字添加
阅读全文
摘要:C风格 #!/bin/env sh function mat(){ for ((p=0;p<10;p++)) do echo $p done } mat {start..end..step} #!/bin/env sh function mat(){ for p in {10..1..2} do e
阅读全文
摘要:trap命令用于捕获指定的信号并执行预定义的命令,为shell内置命令 有两个常用选项 基本语法: trap 'command' signal signal是要捕获的信号,command是捕获到信号后,将要执行的命令,命令可以是若干条shell语句,也可以是一个函数 shell脚本在执行时,会产生三
阅读全文
摘要:使用类Unix系统的同学可能都对“#!”这个符号并不陌生,但是你真的了解它吗? 这个符号的名称,叫做”Shebang”或者”Sha-bang”。长期以来,Shebang都没有正式的中文名称。Linux中国翻译组的GOLinux将其翻译为“释伴”,即“解释伴随行”的简称,同时又是Shebang的音译。
阅读全文
摘要:Linux shell字符串截取与拼接 一 Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.linuxidc.com/123.htm 1 # 号截取,删除左边字符,保留右边字符。 echo ${var#*//} 其中 var 是变量名,# 号是运算符,*//
阅读全文
摘要:1: #!/bin/bash for ((;;));do echo 'endless loop' sleep 2 done 2: #!/bin/env sh while true;do echo 'endless loop' sleep 2 done 3: #!/bin/env bash until
阅读全文
摘要:脚本文件 #/bin/env bashwhile true;do curl -s http://172.16.30.102:8080/OcrWeb/servlet/OcrServlet -X POST -d 'pid=1&filedata=iVBORw0KGgoAAAANSUhEUgAAAZUAAA
阅读全文
摘要:bc: 用于计算浮点数 echo "scale=4;3/13"|bc scale用于指定精度,默认为0,即只保留整数 $((4**3)) 引用4**3的结果 ((b=4**3)) 计算4**3的值赋给b b=$((4**3)) let b=4**3 echo $(ifconfig) 和 echo "
阅读全文
摘要:?最后执行命令或脚本的出口状态 $当前进程id,脚本中反应脚本的PID _初始为shell或脚本的路径,而后变成最近执行命令的选项或参数 !最后一个运行的后台进程PID PPID父进程PID OLDPWD PWD RANDOM[0-32767] 间的随机数 SECONDS运行的累计时间 LOGNAM
阅读全文
摘要:for p in `find /root/epsilon -type d -a -iname vaspy -exec ls -ld {} \;|awk '{print $NF}'`;do mv $p `dirname $p`/epsilon_vasp;done 递归修改特定目录下所有某特定文件夹名字
阅读全文
摘要:$@ $* 没有" "包围时,两者无任何区别,将每个参数看作单独参数,当参数中使用' '或" "时会将其拆开,作为单独参数,因此,此种用法,可能曲解参数传递的本意 #!/bin/evn bash -u echo "print each parameter from \$*" for p in $*
阅读全文
摘要:执行脚本时,如果在脚本当前目录,很容易获取脚本所在绝对路径,但是如果在其他目录可能以绝对路径或相对路径的方式执行脚本,此时pwd获取到的是当前路径,而不是脚本所在的绝对路径,获取脚本所在的绝对路径要通过以下方式: path=$(cd `dirname $0`;pwd) $0 为执行时 引用脚本的路径
阅读全文
摘要:无论在当前shell还是子shell,脚本执行路径都为当前路径,创建文件时,如果使用相对路径,则都在当前路径下创建
阅读全文
摘要:判断变量是否为空 [ $var ];echo $? [[ $var ]];echo $? test -z "$var";echo $? test -n "$var";echo $? [ -z "$var" ];echo $? [ -n "$var" ];echo $? [[ -n $var ]];e
阅读全文
摘要:#!/bin/env sh [ -r /etc/hostname ] && source /etc/hostname HOSTNAME=${hostname:-www.abc.com} hostname $HOSTNAME /etc/hostname hostname=www.ibm.com ./f
阅读全文
摘要:字符串切片: ${var:offset:number} 取字符串的最右侧几个字符:${var: -lengh} 注意:冒号后必须有一空白字符; 基于模式取子串: ${var#*word}:其中word可以是指定的任意字符;功能:自左而右,查找var变量所存储的字符串中,第一次出现的word, 删除字
阅读全文
摘要:1 #!/bin/env sh 2 3 read -p 'input length of array:' var 4 [[ ! $var =~ [[:digit:]] ]] && echo 'input wrong' && exit 5 5 6 declare -a pp 7 8 for z in
阅读全文
摘要:1 #!/bin/env sh 2 3 declare -i max=0 4 declare -i min=32765 5 declare -a zz 6 7 for x in `seq 0 1 9`;do 8 zz[x]=$RANDOM 9 [ ${zz[x]} -gt $max ] && max
阅读全文