-
Shell编程,判断一文件是不是块或字符设备文件,如果是则将其复制到/dev目录下
代码如下:
#!/bin/bash
touch test.txt
if test -b test.txt
then
cp test.txt /dev/test1.txt
else
echo "current file is not a block file"
fi
运行结果:
-
Shell编程,通过条件测试条件判断当前用户是否拥有某个文件的读权限
代码如下:
#/bin/bash
test -r test.sh1
运行结果:
-
Shell编程,利用两层for循环打印九九乘法表
代码如下:
#!/bin/bash
for ((i=1;i<=9;i++))
do
for((i=1;i<=j))
do
let ret="$i\*$j"
echo -n "$i"\*"$j=$ret "
done
echo -e
done
运行结果:
-
Shell编程,接收用户输入的数字,如果是非数字,提示"输入非数字,请重新输入!"并结束;如果是纯数字,则返回数字结果
代码如下:
#! /bin/bash
while true
do
read -p "please input a value: " value
case $value in
[1-9][0-9]*)
echo "$value"
;;
* ) echo "$value is not a num!"
break
;;
esac
done
运行结果:
-
编写Shell程序,判断用户输入的年份是否为闰年
代码如下:
#! /bin/bash
read -p "please input a value: " year
if [ "$((year % 4))" -eq 0 -a $((year % 100))" -ne 0 ]
then
echo "$year is leep year"
elif [ "$((year % 400))" -eq 0 ]
then
echo "$year is leep year"
else
echo "$year is not leep year"
fi
运行结果:
-
编写Shell程序,接收用户输入的数字,判断该数字是否为质数
代码如下:
#!/bin/bash
read -p "Please input a value: " num
if [ $num -le 1 ]
then
echo "$num is not a prime or compsite"
fi
if [ $num -eq 2 ]
then
echo "$num is a prime"
fi
for (( i=2; i<$num; i++))
do
if [ "$((num%2))" -eq 0 ]
then
echo "$num is not a prime" && break
else
if [ $i -gt "$((num/2))" ]
then
echo "$num is prime"
fi
fi
done
运行结果:
-
编写Shell程序,循环接收用户输入的成绩(百分制),如果成绩小于60,则输出"不合格";如果成绩大于等于60,输出"及格",按Q(或者q)退出
代码如下:
#!/bin/bash
flg=y
while [ $flg != q -a $flg != Q ]
do
echo "Welecome to our Score System!"
read -p "please input your grade: " score
case $score in
[0-9] | [1-5][0-9])
echo "Fail";;
[6-9][0-9] | 100)
echo "Pass";;
* )
echo "what you input is wrong"
esac
read -p "Press Q or q to exit" flg
if [ $flg -eq q -o $flg -eq Q]
then
break
fi
done
运行结果: