shell指令的应用

  1. 整理思维导图
  2. 判断家目录下,普通文件的个数和目录文件的个数
  3. 输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。
  4. 终端输入两文件名,判断哪一个文件更新
  5. 终端输入用户,判断用户是否存在,如果不存在,添加用户
  6. 输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)
  7. 写一个shell脚本,获取当前用户名,用户id和工作路径
  8. 统计/etc目录下以P或p开头的文件个数

shell指令的应用_第1张图片

 2.判断家目录下,普通文件的个数和目录文件的个数

#!/bin/bash
echo "目录文件的个数为:$(ls -la ~/ | grep -cE ^d)"
echo "普通文件的个数为:$(ls -la ~/ | grep -cE ^-)"

3.输入一个文件名,判断是否为shell脚本文件,如果是脚本文件,判断是否有可执行权限,如果有可执行权限,运行文件,如果没有可执行权限,给文件添加可执行权限。

#!/bin/bash
read -p "请输入一个文件名:" name
ret=(`expr index $name \.`)

len=(`expr length $name`)

str=(`expr substr $name $((ret+1)) $len`)


if [ $str = 'sh' ]
then 
	echo "${name}是脚本文件"
	mkdir $name
	if [ -x $name ]
	then
		echo "有可执行权限"
		bash $name
	else
		echo "没有可执行权限"
		chmod u+x,g+x $name
	fi
else
	echo "${name}不是脚本文件"
fi

4.终端输入两文件名,判断哪一个文件更新

#!/bin/bash 
read -p "请输入文件名" name1
read name2
if [ $name1 -nt $name2 ]
then
	echo "${name1}更新"
else
	echo "${name2}更新"
fi

 5.终端输入用户,判断用户是否存在,如果不存在,添加用户

ubuntu@ubuntu:804$ cat 5.sh
#!/bin/bash
read -p "请输入用户:" user
id $user &>/dev/null
if [ $? -eq 0 ]
then 
	echo "用户${user}存在"
else 
	echo "用户${user}不存在"
	sudo adduser $user
fi

6.输入学生成绩,判断等级,A[100,90),B[90,80),C[80,70),D[70,60)

#!/bin/bash
read -p "请输入学生成绩:" score
if [ $score -le 100 -a $score -gt 90 ]
then
	echo "A"
elif [ $score -le 90 -a $score -gt 80 ]
then
	echo "B"
elif [ $score -le 80 -a $score -gt 70 ]
then
	echo "C"
elif [ $score -le 70 -a $score -gt 60 ]
then
	echo "D"
elif [ $score -le 60 -a $score -ge 0 ]
then 
	echo "不合格"
else
	echo "请输入正确的成绩"
fi

7.写一个shell脚本,获取当前用户名,用户id和工作路径 

#!/bin/bash
user=$(whoami)
echo $user
id -u $user
$PWD $user


8. 统计/etc目录下以P或p开头的文件个数

#!/bin/bash
ls /etc | grep -cE '^P|^p'

你可能感兴趣的:(bash)