SHELL脚本常见实例(1)

本文介绍了一系列Shell脚本的基础操作及高级应用,包括参数检查、数学运算、文件处理、数组操作等,帮助读者掌握Shell脚本的核心技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
#test.sh
#yzx的shell例子
#1.判断参数是否为空
echo $1
name=$1:?'null'
echo $name
#2.从1叠加到100
echo $[ $(echo+1..100) ]
echo $[(100+1)*(100/2)]
seq -s '+'100|bc
#3.循环数组
for (( i = 0; i < $#o[*]; i++ )); do
	echo $o[$i]
done
#4.判断是否为root用户登陆,root的UID为0
if [ $UID -ne 0]; then
	echo Non root user.please run as root
else
	echo  Root user
fi
#5使用bc进行数学运算
echo "4 * 0.56"|bc
#5二进制转换成10进制
no=100
echo "obase=2;$no"|bc
no=1100100
echo "obase=10;ibase=2;$no"|bc
no=100
#stdin——标准输入,stdout——标准输出,stderr——标准错误
#打印数组
echo ${arrary[*]}
n=number
echo ${arrary[$n]}
#创建别名
alias new_command='old_command'
#如何永久保持别名,取消是unalias
echo 'alias cmd="commad seq"'>>~./bashrc
#输入密码时,不显示输入内容
echo -e "enter your password"
stty -echo
read password
stty echo
echo
echo Password read.
#用&&||简化if else
##!/bin/bash
gzip -t a.tar.gz
if [[ 0 == $? ]]; then
	echo "normal zip"
else
	echo "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[@]}; do
	echo $i
done
#查看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-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值