论坛风格切换切换到宽版
  • 751阅读
  • 9回复

[问题求助][Fedora] LINUX的SHELL程序,帮忙看看 [复制链接]

上一主题 下一主题
离线xychina1006.
 
发帖
2047
C币
-198963
威望
352
贡献值
1
银元
-5
铜钱
4534
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
一个SHELL脚本f.unc.sh如下:    外汇

#!/bin/bash

fu.nction CountMatches外贸
{
  MATCHES=`ls -d $1 2>./dev/null |. wc -l`.
  .echo "$MATCHES"<性病>

  if [ $MATCHES != 0 ]; .t.hen<性病>
   . echo "return 0".
    return 0
  else
    echo "retu.rn 1".
    return 1
  fi
}

function DispMatches..
{
  if. MATCHES=`CountMatches "$1"`; th.en.
    echo -n "Numb.er of matches for. $1: "电影
  .  echo $MATCHES教育
  else
    e.cho "$1 is not .a valid pattern.".
  fi
}

DsipMatches. '/dev/tty*'电脑

目前已经知道在/dev有10个t.ty文件, 是tty0到tty.9              乙肝
输入调用:./func.sh

问题: 执.行该脚本后最后的输出结果是什么?(广告)

就是对着答案.都想不明.白为什么输出那样的结果,请大家帮忙看看.

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线slmtly.
发帖
1928
C币
-61058
威望
352
贡献值
1
银元
-4
铜钱
4297
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
Re:[Fedora]
Number of matches for /dev/tty*: 10 return 0?

离线陈茵茵.
发帖
1977
C币
-235565
威望
344
贡献值
1
银元
-4
铜钱
4356
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14
Re:[Fedora]
不知道CountMatches这个函数里的echo没看到输出,
能讲一下原理吗?

谢谢!

发帖
2107
C币
-235514
威望
408
贡献值
1
银元
-5
铜钱
4774
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14
Re:[Fedora]


QUOTE:原帖由 nanren0542 于 2008-11-27 01:25 发表
不知道CountMatches这个函数里的echo没看到输出,
能讲一下原理吗?

谢谢!

10就是echo "$MATCHES"输出的

离线samoolee.
发帖
2075
C币
-235466
威望
382
贡献值
1
银元
-2
铜钱
4745
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14
Re:[Fedora]
# ./func.sh
./func.sh: line 26: DsipMatches: command not found

离线klxqlqw.
发帖
2074
C币
-262870
威望
355
贡献值
2
银元
-3
铜钱
4474
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14
Re:[Fedora]


QUOTE:原帖由 kns1024wh 于 2008-11-27 09:05 发表
# ./func.sh
./func.sh: line 26: DsipMatches: command not found

应该是DispMatches吧,贴的代码中调用的函数名错了。

离线ac2004.
发帖
2062
C币
-60745
威望
376
贡献值
1
银元
-1
铜钱
4591
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-14
Re:[Fedora]


QUOTE:原帖由 ynchnluiti 于 2008-11-27 01:46 发表

10就是echo "$MATCHES"输出的


请问:

echo "$MATCHS" 和 echo $MATCHES 有什么区别的?

发帖
1986
C币
-605149
威望
377
贡献值
4
银元
-2
铜钱
4410
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-14
Re:[Fedora]
a="*"
然后你看看echo $a和echo "$a"有什么区别。建议看看shell版的十三问:http://bbs.chinaunix.net/viewthr ... p;page=4#pid1511745

离线poomo.
发帖
2145
C币
-604700
威望
359
贡献值
5
银元
-3
铜钱
4675
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-14
Re:[Fedora]


QUOTE:原帖由 ynchnluiti 于 2008-11-27 01:46 发表

10就是echo "$MATCHES"输出的



这个语句 “if MATCHES=`CountMatches "$1"`; then”
是判断CountMatches函数执行的返回值吗?CountMatches 函数的返回是否就是那个return 0 或者return 1的语句?
如果是这样的话,感觉就不对了,这个CountMatches 函数的返回值不知道怎么理解?

离线test1234a.
发帖
1987
C币
-235433
威望
389
贡献值
1
银元
0
铜钱
4621
人人网人气币
0
只看该作者 9楼 发表于: 2010-04-14
Re:[Fedora]


QUOTE:原帖由 nanren0542 于 2008-11-28 01:15 发表



这个语句 “if MATCHES=`CountMatches "$1"`; then”
是判断CountMatches函数执行的返回值吗?CountMatches 函数的返回是否就是那个return 0 或者return 1的语句?
如果是这样的话,感觉就不对了,这个 ...


难道真是当CountMatches 这个函数return 0时,才是满足条件吗?
这个和我们一般的编程思想不一样呀?

一般是
if (true)
   执行1
else
   执行2

是不是刚好和我的想法相反?
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个