1.通过命令行参数给定两个参数
第一个参数作为文本文件名,显示文件的元数据信息,并将信息保存到给定的第二个参数的文件中
#!/bin/bash
stat $1
stat $1 &> $2
cat $2
2.显示当前脚本文件名 并将当前脚本复制到/emp
#!/bin/bash
#显示当前脚本名
echo $0
#复制到/emp目录下
cp $0 /emp
3.编写shell脚本,实现两个变量之间的加减乘除运算
#!/bin/bash
read -p "number:" a
read -p "number:" b
read -p "fuhao:" c
case $c in
+)let "sum=$a+$b"
echo $sum;;
-)let "sum=$a-$b"
echo $sum;;
*)let "sum=$a*$b"
echo $sum;;
/)let "sum=$a/$b"
echo $sum;;
esac
4.通过命令行参数给定一个用户名,判断当前用户是否存在?
如果存在 查看当前用户有没有设置密码,没有设置密码需要初始化用户密码为123456
如果不存在 需要添加用户,并初始化密码
#!/bin/bash
if ! grep "^$1\>" /etc/passwd &>/dev/null; then
useradd $1 -p 123456
else
pwds=$(cut -d: -f2 /etc/shadow)
if [[ $pwds=="!!" || $pwds=="*" ]];then
passwd $1
fi
fi
5.写一个脚本
显示当前系统日期和时间,而后创建目录/tmp/lstest
切换工作目录到/tmp/lstest
创建目录 ald b56e 6test
创建空文件 xy x2y 732
列出当前目录下 以a,x 或者6 开头的文件或者目录
列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录
#!/bin/bash
#日期
date
#创建
mkdir -p /tmp/lstest
#切换
cd /tmp/lstest
#创建
mkdir ald b56e 6test
#创建
touch xy x2y 732
#列出
ls [ax6]*
#列出
ls [[:alpha:]][[:digit:]]*
6.取出系统IP地址,打印ip地址
#!/bin/bash
hostname -I
7.任意三个整数,判断最大数
#!/bin/bash
max=$1
[ $2 -gt $max ] && max=$2
[ $3 -gt $max ] && max=$3
echo max is $max
8.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息
#!/bin/bash
cat >> $1 << end
#!/bin/bash
end
chmod u+x $1
echo "OK!"