#!/bin/bash
a=("oneko" "bastet" "frozen-bubble")
select varname in ${a[*]}
do
$varname
n=$?
case $n in
0)
echo 存在文件,执行
;;
*)
echo 运行失败,进行下载
sudo apt install $varname
$varname
;;
esac
break
done
2.运行结果
分析:这题利用$?的方法来判断软件是否运行,从而在执行case语句。
1.代码
#!/bin/bash
read -p "enter a:" -a a
n=${#a[*]}
max=${a[0]}
for var in ${a[*]}
do
if (($var > $max))
then
max=$var
fi
done
echo max=$max
2.运行结果
1.代码
#!/bin/bash
n=4
for ((i=1;i<=n;i++))
do
for ((k=0;k<i;k++))
do
echo -n " "
done
for ((j=4;j>=i;j--))
do
echo -n "*"
done
echo ""
done
2.结果
分析:引入另外一个变量,控制这个变量来输出空格,做到倒三角的目的
1.代码
#!/bin/bash
read -p "enter name:" filename
if [ -e $filename ]
then
if [ -d ./$filename ]
then
echo 是目录
elif [ -L ./$filename ]
then
echo `ls -lh ./$filename`
elif [ -f ./$filename ]
then
if [ -r ./$filename -a -w ./$filename -a
then
echo hello >> ./$filename
else
chmod 777 ./$filename
echo hello >> ./$filename
fi
fi
fi