摘要:
shell编程中使用到得if语句内判断参数 –b当file存在并且是块文件时返回真 -c当file存在并且是字符文件时返回真 -d当pathname存在并且是一个目录时返回真 -e当pathname指定的文件或目录存在时返回真 -f当file存在并且是正规文件时返回真 -g当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 -h当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效 -k当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真 -p当file存在并且是命令管道时返回为真 -r当由pathname指定的文件或目录存在... 阅读全文
摘要:
检查语法-n选项只做语法检查,而不执行脚本。sh-nscript_name.sh启动调试sh-xscript_name.s进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。+array=(12345)+foriin'${array[*]}'+echo11加上-v可将源码一起输出中断调试在调试过程中可以按Ctrl+Z中断调试,观察结果,然后再按fg键继续调试即可。调试代码块上面的-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块代码的,如下 阅读全文
摘要:
1、多行变成单行-bash-3.2#cattest.txtabcdefgopq-bash-3.2#cattest.txt|xargsabcdefgopq2、单行变成多行-bash-3.2#cattest.txtabcdefgopq-bash-3.2#cattest.txt|xargs-n2abcdefgopq3、删除某个重复的字符来做定界符-bash-3.2#cattest.txtAaaagttttgyyyygcccc-bash-3.2#cattest.txt|xargs-dgaaaattttyyyycccc4、删除某个重复的字符来做定界符后,变成多行-bash-3.2#cattest.txt 阅读全文
摘要:
在一些Shell脚本中,特别是Crontab的脚本中,经常会看到>/dev/null2>&1这样的写法。其实这个很好理解。我们分两部分解释。1. >/dev/null大家知“>”(右尖括号)在unix/linuxshell中表示输入到的意思,就是把”>”左边的内容输入到”>”右边。比如:echotext>1.txt就把“text”这个文本输入到1.txt这个文件中。那么“/dev/null”又是个什么东东呢?它代表一个空设备,即不存在的设备。也就是说,抛弃”>”左边的内容,不进行输出。2. 2>&1这个其实是三个部分组成的: 阅读全文