当前位置: 首页 > news >正文

咸阳网站建设工作室深圳建设厅网站

咸阳网站建设工作室,深圳建设厅网站,英特尔网站开发框架,潍坊专业建站在 Shell 脚本里,$ 和 $* 都是用于表示传递给脚本或函数的所有参数,下面详细介绍它们的区别与联系。 联系 表示所有参数:二者都能够代表传递给脚本或者函数的全部参数。当你在执行脚本时带上了多个参数,$ 和 $* 都能把这些参数呈…

在 Shell 脚本里,$@ 和 $* 都是用于表示传递给脚本或函数的所有参数,下面详细介绍它们的区别与联系。

联系

  • 表示所有参数:二者都能够代表传递给脚本或者函数的全部参数。当你在执行脚本时带上了多个参数,$@ 和 $* 都能把这些参数呈现出来。
  • 未加引号时行为一致:在没有被双引号 " " 引用的情况下,$@ 和 $* 表现一样,都会把所有参数展开为以空格分隔的列表。

示例代码如下:

bash

#!/bin/bash
# 遍历 $@ 未加引号的情况
echo "未加引号时遍历 \$@"
for arg in $@; doecho $arg
done# 遍历 $* 未加引号的情况
echo "未加引号时遍历 \$*"
for arg in $*; doecho $arg
done

将上述代码保存为 test.sh,执行 bash test.sh "hello world" foo bar,输出结果如下:

plaintext

未加引号时遍历 $@
hello
world
foo
bar
未加引号时遍历 $*
hello
world
foo
bar

区别

主要区别体现在被双引号 " " 引用时:

  • "$@":把每个参数当作独立个体来保留,它会将所有参数展开成多个独立的字符串,并且维持参数原本的分隔状态。在需要对每个参数单独处理时,使用 "$@" 十分合适。
  • "$*":会把所有参数合并成一个字符串,各个参数之间由 IFS(内部字段分隔符,默认是空格、制表符和换行符)的第一个字符分隔。

示例代码如下:

bash

#!/bin/bash
# 遍历 "$@"
echo "加引号时遍历 \"\$@\""
for arg in "$@"; doecho $arg
done# 遍历 "$*"
echo "加引号时遍历 \"\$*\""
for arg in "$*"; doecho $arg
done

将上述代码保存为 test2.sh,执行 bash test2.sh "hello world" foo bar,输出结果如下:

plaintext

加引号时遍历 "$@"
hello world
foo
bar
加引号时遍历 "$*"
hello world foo bar

综上所述,$@ 和 $* 在未加引号时表现一致,加引号后行为不同。若要对每个参数分别处理,推荐使用 "$@";若要把所有参数作为一个整体处理,可使用 "$*"

http://www.dtcms.com/a/467923.html

相关文章:

  • 网站百度抓取小程序制作多少钱
  • 苏州网站制作聚尚网络企业天眼查询信息官网
  • 内网门户网站建设方案酒店网站建设功能
  • 网站建设公告外卖网站制作
  • 造价统计报表在哪个网站上做广州市增城区建设局网站
  • 宿松 做网站怎么做淘宝客网站赚钱吗
  • 芙蓉区建设局网站五金外贸网站模板
  • 湖南建设信息网站南京seo推广
  • 网站维护必须要会什么电子商务网站建设与维护李建忠下载
  • 蛋糕网站源码域名注册网站查询工具
  • 建筑学院网站哪里有做网站平台
  • 找公司做网站的好处临沧网站制作
  • 网站推广策略含义自己做的网站怎么放图片
  • 优秀网站网页设计商丘做网站公司新站seo快速收录网页内容页的方法
  • 建设小企业网站步骤wordpress小米路由器3
  • cms 主题 wordpressseo全网推广
  • 网站网页制作图片素材网页设计代码html个人简介
  • 艺商网站专家库 网站 建设方案
  • 郑州微网站制作寻加工厂合作订单
  • 公司刚成立网站怎么做核心关键词
  • 网页布局设计方法抖音seo排名系统哪个好用
  • wordpress 整站转移精品资料网如何免费下载
  • 小红书推广计划百度首页优化
  • 怎样做一个网站赚钱吗设计一个全面了解湖南的网站
  • 石家庄晋州网站建设互联网服务平台是什么
  • 免费网站建设空间做塑胶材料的网站
  • 怎么提高网站的流量如何推广网站方法
  • 做电影网站如何寻找资源1小时前俄乌战况消息
  • 展会网站建设 服务器选择很重要网站5建设需要学什么
  • 网站建设策划报告眼镜企业网站建设方案