1.思维导图
2.在终端输入一个用户名
1.定义有参又返函数,返回用户在/etc/passwd文件中的行号
参数:用户名
返回:行号
#!/bin/bash
function n()
{
a=`grep -n "$1" /etc/passwd | cut -d ":" -f 1`
echo $a
}
str=`n "$1"`
echo $str
2.定义有参又返函数,返回用户在.etc.passwd文件中的解析器
参数:用户名
返回:解析器
#!/bin/bash
function n()
{
local a=`grep "$1" /etc/passwd | cut -d "/" -f 5`
echo $a
}
str=`n "$1"`
echo $str
3.定义有参又返函数,返回用户的uid和gid
参数:用户名
返回:uid gid
#!/bin/bash
function n()
{
a1=`grep "$1" /etc/passwd | cut -d ":" -f 3`
a2=`grep "$1" /etc/passwd | cut -d ":" -f 4`
}
n $1
echo $a1 $a2
3.定义数组存储软件名(oneko bastet frozen-bubble)使用select..in循环数组,实现页面的交互使用case in 判断软件是否存在(执行),正常运行则不下载,运行失败则下载并运行 ps查看进程
#!/bin/bash
arr=(oneko bastet frozen-bubble)
echo plase enter app:
select app in ${arr[*]}
do
#echo app=$app
case $app in
oneko )
a=`pgrep app`
if [ "$a" -ne 0 ]
then
echo "软件已执行"
else
echo `sudo apt-get install oneko`
echo `sudo apt-get update`
echo `oneko`
fi
;;
bastet )
a=`pgrep app`
if [ $a -ne 0 ]
then
echo "软件已执行"
else
echo `sudo apt-get install onke`
echo `sudo apt-get update`
echo `bastet`
fi
;;
frozen-bubble )
a=`pgrep app`
if [ $a -ne 0 ]
then
echo "软件已执行"
else
echo `sudo apt-get install onke`
echo `sudo apt-get update`
echo `frozen-bubble`
fi
;;
esac
done
4.输入数组元素,计算数组的最大值
#!/bin/bash
read -p "please enter n: " -a arr
n=${#arr[*]}
max=${arr[0]}
for ((i=0;i<n;i++))
do
if [ ${arr[i]} -gt $max ]
then
max=${arr[i]}
fi
done
echo max=$max
5.打印图形
****
***
**
*
6.输入一个文件名,
判断是否在当前目录下存在,
如果是一个目录,则直接输出是目录
如果是一个链接文件则输出文件的详细信息
如果存在则判断是否是一个普通文件,如果是普通文件则判断是否具备
可读可写可执行权限,如果具备权限,写入hello,不具备权限,则添加读写执行权限,写入hello
#!/bin/bash
read -p "please enter string" a
read -p "please enter string" b
if [ -z "$a" -o -z "$b" ]
then
echo error
exit
elif [ "$a" = "$b" ]
then
echo "a=b"
elif [ "$a" \> "$b" ]
then
echo "a>b"
else
echo "a<b"
fi