[求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

sh/bash/dash/ksh/zsh等Shell脚本
fengmanloude
帖子: 95
注册时间: 2011-05-21 19:35

[求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#1

帖子 fengmanloude » 2012-04-09 21:06

我还特意把1的格式照着2修改了几遍 可是1中的until和choice 始终是白色的 啊 2中是黄色的 只有2可以执行出正确结果~
另外,TAB键在这里有何妙用啊?

源程序代码

代码: 全选

#!/bin/bash
# menu shell script.      samli     2004.4.19
until 
       echo "List Directory..........1" 
       echo "Change Directory........2" 
       echo "Edit File...............3" 
       echo "Remove File.............4" 
       echo "Exit Menu...............5" 

       read choice 
       test $choice = 5
do 
       case $choice in 
              1) ls;; 
              2) echo "enter target directory:" 
              read dir 
              cd $dir 
              ;; 
              3) echo "enter file name:" 
              read file 
              vi $file 
              ;; 
              4) echo "enter file name:" 
              read file 
              rm $file 
              ;; 
              5) echo "Goodbye"
              ;; 
              *) echo "illegal option, please input again." 
       esac 
done 






没学diff啊 根据我的理解弄得 也不知道是不是你们说的diff啊

代码: 全选

l-think@ubuntu:~$ diff test3 test4
2,31c2,31
< # menu shell script.      samli     2004.4.19
< until 
< 	echo "List Directory..........1" 
< 	echo "Change Directory........2" 
< 	echo "Edit File...............3" 
< 	echo "Remove File.............4" 
< 	echo "Exit Menu...............5" 
< 	
<         read choice 
<         test $choice = 5
< do 
<         case $choice in 
<               1) ls;; 
<               2) echo "enter target directory:" 
<               read dir 
<               cd $dir 
<               ;; 
<               3) echo "enter file name:" 
<               read file 
<               vi $file 
<               ;; 
<               4) echo "enter file name:" 
<               read file 
<               rm $file 
<               ;; 
<               5) echo "Goodbye"
<               ;; 
<               *) echo "illegal option, please input again." 
<        esac 
< done 
---
> # menu shell script.      samli     2004.4.19
> until 
>        echo "List Directory..........1" 
>        echo "Change Directory........2" 
>        echo "Edit File...............3" 
>        echo "Remove File.............4" 
>        echo "Exit Menu...............5" 
> 
>        read choice 
>        test $choice = 5
> do 
>        case $choice in 
>               1) ls;; 
>               2) echo "enter target directory:" 
>               read dir 
>               cd $dir 
>               ;; 
>               3) echo "enter file name:" 
>               read file 
>               vi $file 
>               ;; 
>               4) echo "enter file name:" 
>               read file 
>               rm $file 
>               ;; 
>               5) echo "Goodbye"
>               ;; 
>               *) echo "illegal option, please input again." 
>        esac 
> done 
l-think@ubuntu:~$ 
附件
第一行改过后的
第一行改过后的
白
黄
上次由 fengmanloude 在 2012-04-09 21:42,总共编辑 1 次。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#2

帖子 YeLee » 2012-04-09 21:12

第一行。 :em01 :em01 :em01
最讨厌这种连diff都不发的人了。 :em20 :em20 :em20
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
wjchen
帖子: 583
注册时间: 2011-05-02 19:08
系统: ubuntu 12.04

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#3

帖子 wjchen » 2012-04-09 21:16

1中的第一行有点问题。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#4

帖子 自由建客 » 2012-04-09 21:17

;; 就是 break
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#5

帖子 cao627 » 2012-04-09 21:26

学习 :em11
fengmanloude
帖子: 95
注册时间: 2011-05-21 19:35

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#6

帖子 fengmanloude » 2012-04-09 21:33

YeLee 写了:第一行。 :em01 :em01 :em01
最讨厌这种连diff都不发的人了。 :em20 :em20 :em20
奥 我还真没有注意前面的第一行来着~
diff是啥啊? 这个我还没学过,不会用~ :em06
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#7

帖子 YeLee » 2012-04-09 21:36

表示diff弄起补丁来很方便。 :em09 :em09 :em09
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
fengmanloude
帖子: 95
注册时间: 2011-05-21 19:35

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#8

帖子 fengmanloude » 2012-04-09 21:40

wjchen 写了:1中的第一行有点问题。
第一行 改过来了 还是不行啊 上图3
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
联系:

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#9

帖子 cuihao » 2012-04-09 21:45

用tab缩进是为了让你的程序看起来有层次感,更清晰。

还是不一样的话,diff一下看看吧。最简单的用法,终端输入:

代码: 全选

diff 文件1 文件2
输出你应该能大致看明白。
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#10

帖子 aerofox » 2012-04-09 21:51

如果看 diff 结果嫌不直观的话,用

代码: 全选

gvimdiff 文件1 文件2
fengmanloude
帖子: 95
注册时间: 2011-05-21 19:35

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#11

帖子 fengmanloude » 2012-04-09 21:56

cuihao 写了:用tab缩进是为了让你的程序看起来有层次感,更清晰。

还是不一样的话,diff一下看看吧。最简单的用法,终端输入:

代码: 全选

diff 文件1 文件2
输出你应该能大致看明白。
diff -e的结果是2,31c
看这意思是第2行和第31行有更改 我对比了下 没有发现问题
就是不明白 为何until 是白色的 我以为是自己犯了没定义变量之类的错误 才来求教~
fengmanloude
帖子: 95
注册时间: 2011-05-21 19:35

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#12

帖子 fengmanloude » 2012-04-09 22:00

aerofox 写了:如果看 diff 结果嫌不直观的话,用

代码: 全选

gvimdiff 文件1 文件2
输入 gvimdiff test3 test4
显示
程序“gvimdiff”已包含在下列软件包中:
* vim
* vim-gnome
* vim-tiny
* vim-gtk
* vim-nox
请尝试:sudo apt-get install <选定的软件包>

我最近才装得vim 看这架势我也不确定再装哪一个?
fengmanloude
帖子: 95
注册时间: 2011-05-21 19:35

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#13

帖子 fengmanloude » 2012-04-09 22:02

cao627 写了:学习 :em11

:em11
头像
wjchen
帖子: 583
注册时间: 2011-05-02 19:08
系统: ubuntu 12.04

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#14

帖子 wjchen » 2012-04-09 22:04

输入 gvimdiff test3 test4
显示
程序“gvimdiff”已包含在下列软件包中:
* vim
* vim-gnome
* vim-tiny
* vim-gtk
* vim-nox
请尝试:sudo apt-get install <选定的软件包>
我最近才装得vim 看这架势我也不确定再装哪一个?

那试试vimdiff
或者你把两个文件发上来,让大伙看看。
上次由 wjchen 在 2012-04-09 22:08,总共编辑 1 次。
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: [求助]为什么我感觉这两个程序相同 可是只有一个能输出正确结果啊?

#15

帖子 aerofox » 2012-04-09 22:05

fengmanloude 写了:
aerofox 写了:如果看 diff 结果嫌不直观的话,用

代码: 全选

gvimdiff 文件1 文件2
输入 gvimdiff test3 test4
显示
程序“gvimdiff”已包含在下列软件包中:
* vim
* vim-gnome
* vim-tiny
* vim-gtk
* vim-nox
请尝试:sudo apt-get install <选定的软件包>

我最近才装得vim 看这架势我也不确定再装哪一个?
建议安装 vim-gnome。
回复