SHELL脚本常见实例(1)

来源:互联网 发布:win10网络重置后怎么办 编辑:程序博客网 时间:2024/04/28 15:53
#!/bin/bash#test.sh#yzx的shell例子#1.判断参数是否为空echo $1name=$1:?'null'echo $name#2.从1叠加到100echo $[ $(echo+1..100) ]echo $[(100+1)*(100/2)]seq -s '+'100|bc#3.循环数组for (( i = 0; i < $#o[*]; i++ )); doecho $o[$i]done#4.判断是否为root用户登陆,root的UID为0if [ $UID -ne 0]; thenecho Non root user.please run as rootelseecho  Root userfi#5使用bc进行数学运算echo "4 * 0.56"|bc#5二进制转换成10进制no=100echo "obase=2;$no"|bcno=1100100echo "obase=10;ibase=2;$no"|bcno=100#stdin——标准输入,stdout——标准输出,stderr——标准错误#打印数组echo ${arrary[*]}n=numberecho ${arrary[$n]}#创建别名alias new_command='old_command'#如何永久保持别名,取消是unaliasecho 'alias cmd="commad seq"'>>~./bashrc#输入密码时,不显示输入内容echo -e "enter your password"stty -echoread passwordstty echoechoecho Password read.#用&&||简化if else##!/bin/bashgzip -t a.tar.gzif [[ 0 == $? ]]; thenecho "normal zip"elseecho "imnormal zip"fi--->简化 gzip -t a.tar.gz &&echo "normal zip" ||echo "imnormal zip"#判断文件非空if [[ -s $file ]]; then echo "not empty" else touch "$file" fi  #获取文件大小 stat -c %s $file stat --printf='%s\n'$file wc -c $file#批量重命名文件#为所有txt文件加上.bak后缀rename '.txt' '.txt.bak' '*.txt'#去掉所有bak后缀rename '*.bak' '' '*.bak'#把所有空格改成下划线find path -type f -exec rename 's/ /_/g'{}\;把文件名都改成大写find path -type f -exec rename'y/a-z/A-Z'{}\;#删除空行cat a.txt |sed -e '/^*$/d'grep -v "^$" file #比较文件的修改时间[[file1.txt -nt file2.txt]]&&echo true || echo false#删除前3行cat flie | sed 1,3d#遍历数组arrary=(1,2,3,4,5)for i in ${arrary[@]}; doecho $idone#查看CPU信息cat /proc/cpuinfo#产生一个随机数echo $random#删除0字节的文件find . -type f -size 0 -delete#获取ip地址ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6-

原创粉丝点击