阅读下述Shell程序,说明该程序的功能。
#! /bin/bash
echo -n “Please input the answer:”
read I
if [ $I = y ]
then
echo “Copy file1.txt to file2.txt”
cp file1.txt file2.txt
elif [ $I = n ]
then
echo “No copy!”
else
echo “Bad Input.”
fi
#end
年年年 于 2011-07-26 15:02:55发表:
当然试过才这么说
Global 于 2011-07-26 13:38:07发表:
谁说的,你回去试试看吧,可行你就用用吧.楼上的!
Global 于 2011-07-26 13:38:00发表:
谁说的,你回去试试看吧,可行你就用用吧.楼上的!
年年年 于 2011-07-25 13:11:19发表:
LZ的脚本可行,但写得不好。read -p是最好的选择。
shell脚本里面可以直接就用新的变量名称,无需事先声明。read I 是可行的。
中括号里面可以用=,意思与==是一样的,注意是中括号[]里面才可以。
-eq -gt等比较符一般用于数字比较。==和!=用在字符串比较。
但是建议LZ最好还是用==吧!
wenhao1129 于 2011-07-24 21:04:01发表:
答案都有了哦
qq9293000079 于 2011-07-24 09:53:45发表:
(o):tx路过学习下,新手顶
wenhao1129 于 2011-07-23 23:33:33发表:
选择是要COPY还是不要
Global 于 2011-07-23 15:13:38发表:
你的第二行因该是read -p吧而不是echo -n懂不
而且在Shell里是不接受“=”这个符号的,别以为这个是ASP,-eq表示是等号的意思.
还有你这个i是从哪里来的,你回去学学ASP先吧,你都还没定义呢,还有你的这个Y又是从哪里来的!佩服
#! /bin/bash #定义环境
read -p “Please input the answer:” Y #提示输入答案:然后将输入的文字履值给Y
if [ $Y -eq y ] #然后判断这个值是否等于Y如果等于就运行下面的命令,否则就运行下一条判断语句
then #结尾语句可以写成if [ 判断语句 ] ; then注意空格
echo “Copy file1.txt to file2.txt” #提示要拷贝的文件名叫file2.txt
cp file1.txt file2.txt #执行拷贝命令将file1.txt拷贝到当前目录下并且改名为file2.txt
fi #if语句的结束语,每一条if对应一个fi结束(重点)
if [ $Y -eq n ] ; then #这个是或者的意思 elif [ $Y = n ] 这个写法不见意,判断这个值否等于n意义与上一个判断语句
echo “No copy!” #提示不能拷贝的意思,意义和第五行一样
else #否则的意思,各ASP一样
echo “Bad Input.” #意义如上二行提示输入不对见意在后面加入一个exit 1表示退出Shell
fi #意思和上一个fi一样
最后和大家说明一点#这个符号是注释的意思,和ASP的//一样
祝大家学习快乐
getlinux 于 2011-01-06 19:50:39发表:
呵呵,luodeke解译的够给力。
pallana 于 2011-01-06 19:45:00发表:
我只有C语言的基础,没有搞过shell编程,但是我也是能够看懂的。这种问题都要来问,老兄你该让人鄙视啊
luodeke 于 2011-01-06 17:22:08发表:
[i=s] 本帖最后由 luodeke 于 2011-1-6 17:24 编辑 [/i]
#! /bin/bash
echo -n “Please input the answer:”
read I #等待用户输入I的值
if [ $I = y ] #如果I的值为y
then
echo “Copy file1.txt to file2.txt”#如果I的值为y,那么打印opy file1.txt to file2.txt
cp file1.txt file2.txt #然后这里是后台执行那个cp
elif [ $I = n ] #如果为n
then
echo “No copy!” #如果为n,打印No copy!
else #如果输入值也不是y也不是n
echo “Bad Input.” #如果输入值也不是y也不是n,那么打印Bad Input.
fi
#end
zing840828 于 2011-01-06 15:30:02发表:
呵呵!
大宝 于 2011-01-06 09:02:32发表:
本人不会编程都看得懂,阁下还看不懂?
家庭作业自己做~
messi10 于 2011-01-05 23:52:50发表:
if判断语句是不是有点问题哦 用==吧
taoty 于 2011-01-05 23:30:06发表:
虽然不懂编程,但这几句话还是能看懂的。
水君 于 2011-01-05 23:07:45发表:
read:是读取来自键盘的变量,"$I“是引用I变量; echo:你看得懂啦
题意就是说:
“Please input the answer:”
当你键盘输入Y,即I=‘y’时,会输出:“Copy file1.txt to file2.txt”,然后把file1复制一份(即file2);
当你键盘输入n,即I=‘n’时,会输出 “No copy!”
但I既不是‘y’和‘n’的时候,就输出 “Bad Input.”
然后结束
阳兄加油啊~~~要期末考试啦(so):)
shenhao0129 于 2011-01-05 21:23:22发表:
虽然我对于shell编程也是半调子的,这个还是看的明白的,就是要求用户输入y/n的选,分别对应拷贝一个txt文件并重命令