由read命令来实现的。用法为:read 用户变量名
当shell程序执行到该行时,将等待用户从键盘输入,
当用户按下回车键时shell把你输入的内容赋给用户变量。 (3) 命令替换赋值 用法为:用户变量=`命令`
该语句将首先执行反向单引号之间的命令,
然后将其执行后输出的内容赋给该用户变量,在这种赋值方式中,
等号前后同样不能有空格,而且必须用反向单引号(即重音号)把命令括起来。
四、综合应用:
1.编写1个弹出式菜单的shell程序并实现其简单的菜单功能: ******************************************************* * MENU * * 1.copy 2.rename * * 3.remove 4.find * * 5.exit *
*******************************************************
即用户按下数字1,则提示用户输入源和目的文件名后执行复制;输入数字2,则提示用户输入要更名的文件或目录后执行更名操作;输入数字3,则提示用户输入要删除的文件并执行删除操作;输入数字4,则提示用户输入要查找的文件并执行查找操作;输入数字5,则退出该菜单shell程序的执行。 #! /bin/sh - clear
while [ 0 ]; do
echo \echo \echo \
echo \echo \echo \echo
echo -n \read choice echo
case $choice in
echo -n \read src echo
echo -n \read des mv $src $des if $?; then
echo \
1)
echo -n \read src echo
echo -n \read des
cp -arf $src $des if $?; then
echo \
else
echo \
fi;;
2)
else
echo \
fi;;
3)
echo -n \read src rm -rf $src if $?; then
echo \
else
echo \
fi;;
4)
echo -n \read src
find $HOME -name $src;;
5) exit;;
*) echo \
esac done
2. 编写shell程序,实现自动删除50个用户账号的功能。账号名为stud1至stud50 #!/bin/sh i=1
while [ $i -le 50 ] do
userdel -r stud${i} i=$(($i+1 )) done
echo \else echo \fi;;
3.用shell编写小九九乘法表程序,程序执行结果如下:
#! /bin/sh – for i in 1 2 3 4 5 6 7 8 9 do for j in 1 2 3 4 5 6 7 8 9 do if ( test $j -le $i ) then echo -ne `expr $i \\* $j` \ else echo break fi done done
相关推荐: