文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>词表中的$和$@变量

词表中的$和$@变量

时间:2009-07-11  来源:流星陨落

$*和$@扩展的结果几乎完全一样,唯一不同的是当它们被括在双引号中时,$*的值是一个字符串,而$@的值则是一组相互独立的词。

范例14-35

(脚本)

     #!/bin/bash

     # Scriptname: greet

1    for name in $*        # same as for name in $@

2    do

         echo Hi $name

3    done

(命令行)

$ greet Dee Bert Lizzy Tommy

Hi Dee

Hi Bert

Hi Lizzy

Hi Tommy

说明

1. $*和$@被展开后是一个所有位置参量的列表,本例中,它们被展开后的结果就等于从命令行传入的参数:Dee、Bert、Lizzy和Tommy。列表中的每个名字被依次赋给for循环的变量name。

2. 执行循环体中的命令,直到列表为空。

3. 关键字done标志循环体的结束。

范例14-36

(脚本)

     #!/bin/bash

     # Scriptname: permx

1    for file         # Empty wordlist

     do

2      if [[ -f $file && ! -x $file ]]

       then

3             chmod +x $file

              echo $file now has execute permission

       fi

     done

(命令行)

4   $ permx *

    addon now has execute permission

    checkon now has execute permission

    doit now has execute permission

说明

1. 如果没有为for循环提供参数列表,它就对所有位置参量进行遍历。这行等同于for file in $*命令。

2. 文件名将来自命令行。shell将星号(*)扩展为当前工作目录中所有的文件名。如果该文件是一个没有执行权限的文本文件,就执行3的命令。

3. 给每个被处理的文件加上执行权限。

4. shell把命令行里的星号作为通配符进行求值,将它替换为当前目录下的所有文件。shell把这些文件作为参数传给脚本permx。

 

相关阅读 更多 +
排行榜 更多 +
城市公交模拟器2019

城市公交模拟器2019

模拟经营 下载
假面骑士魂骑模拟器

假面骑士魂骑模拟器

模拟经营 下载
市政工程模拟器

市政工程模拟器

模拟经营 下载