`
dylan.wu
  • 浏览: 134368 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

shell中$*和$@的区别

 
阅读更多

如果想用一个shell脚本把输入参数完整的传给另一个脚本,特别遇到以下这种情况的时候./a.sh 'test 1' 'test 2'。此时就需要使用$@,而不是$*来完成需求。具体运行一下以下脚本就清楚这两条命令之间的区别了。

b.sh

echo pn:$#
echo p: $*
echo p: $@

 a.sh

echo $#
echo './b.sh $*'
./b.sh $*
echo './b.sh $@'
./b.sh $@
echo './b.sh "$*"'
./b.sh "$*"
echo './b.sh "$@"'
./b.sh "$@"
 

运行./a.sh 'a b' c d

输出结果为

3
./b.sh $*
pn:4
p: a b c d
p: a b c d
./b.sh $@
pn:4
p: a b c d
p: a b c d
./b.sh "$*"
pn:1
p: a b c d
p: a b c d
./b.sh "$@"
pn:3
p: a b c d
p: a b c d

 

分享到:
评论

相关推荐

    运维技能、基础【汇总】1

    第一章 脚本编程与 Linux 命令Shell 脚本基础知识$1 入参,空值时默认赋值技巧$* 和 $@ 区别$* 和 $@ 都表示传递给函数或脚本的所有参数,

    Shell编程中的特殊变量之进程状态变量介绍

    进程状态变量 1、$$获取当前shell的进程号(PID) 2、$!执行上一个指令的PID 3、$?...$*和$@的区别 $*将所有的参数视为单个字符串,相当于“$1$2$3” $@将每个参数视为单个的字符串,保留命令行中的任

    shell脚本与Makefile区别.docx

    本文将详细介绍 shell 脚本和 Makefile 的区别。 首先,shell 脚本和 Makefile 都有自己独立的通配符,不能互用。shell 脚本中的通配符是 *,表示所有的字符,而 Makefile 中的通配符是 %,表示所有的字符。 其次...

    B shell与 C shell的区别

    B shell与 C shell的区别 ; B shell的详解和C shell 的详解

    Shell基础知识点(7)—特殊变量

    6. $* 和 $@的区别 当 $* 和 $@ 被双引号(” “)包含时, “$*”会将所有的参数作为一个整体,以“$1 $2 … $n”的形式输出所有的参数。 “$@”会以各个参数分开,以“$1”, “2”,…”2″ , …”2″,…”n”的...

    Linux Shell 如何获取参数的方法

    $# 是传给脚本的参数个数 ... 不同点:$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(” “)包含时,都以”$1” “$2” … “$n” 的形式输出所有参数。但是当它们被双引号(” “)包含时,”$*” 会

    蔡氏电路matlab仿真代码-bash_interview_questions:bashshell面试问题

    matlab仿真代码BASH SHELL面试问题 [[ :up_arrow: ]] Shell脚本 编写一个脚本,打印出自己的绝对路径 编写一个脚本,打印出自己的内容 ...将$@和$*与"$@"和"$*"区别开。 区分exit 0和exit 1 。 {}和()有

    解决ssh远程登陆linux显示-bash-4.1$的问题

    cp -pr /etc/skel/.bash* /home/test/ ... 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux系统下的区别说明linux让$变成#符号的实操方法linux中$符号的基础用法教程

    Shell脚本中单引号(‘)和双引号(“)的使用区别

    在Linux操作系统上编写Shell脚本时候,我们是在变量的前面使用$符号来获取该变量的值,通常在脚本中使用”$param”这种带双引号的格式,但也有出现使用’$param’这种带引号的使用的场景,首先大家看一段例子: ...

    4种shell的区别

    linux下常见4中shell脚本的区别

    java调用shell脚本执行sqlldr与存储过程

    2、用sh直接执行shell和在java直接执行shell是有区别的,要在shell文件内增加oracle的环境变量即. /home/oracle/.bash_profile 这句话,否则在执行sqlldr会报如下异常: Message 2100 not found; No message file ...

    Shell编程中while与for的区别及用法详解

    在shell编程中经常用到循环,常用的循环有for和while循环两种。while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别。 一、常用语法 1、for循环 for...

    android adb shell 命令大全

    android adb shell 命令大全 1. 显示系统中全部Android平台: android list targets 2. 显示系统中全部AVD(模拟器): android list avd 3. 创建AVD(模拟器): android create avd --name 名称 --...

    Shell中四种执行脚本方式的对比

    # test7:用于对比各种脚本程序执行方式的区别 echo The variable var1 is $var1 echo The environment variable env1 is $env1 echo The current shell PID is $$ 1. 使用绝对路径执行脚本 测试过程 root@Dell-Tom...

    shell常用命令整理

    在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。基本上shell分两大类: 一:...

    csh,tcsh,bash,sh等shell的区别

    主要介绍了linux下csh, tcsh,bash, sh等shell的区别?,需要的朋友可以参考下

    Linux网络操作系统基础:shell编程基础.pptx

    Shell 中的字符;变量;变量的类型;使用变量;扩展变量;变量的赋值与输出;Shell 的算术扩展;在 Shell 中计算时间;算术运算常用表达式;算术运算的优先级;变量递增的前置后置区别;熟悉 Shell 基础知识 掌握 Shell 脚本的...

    Linux下各种shell区别

    ksh bash csh的区别,编写shell脚本需要注意的事项

    老男孩Linux shell 高级编程

    作用地位-比其他语言优势、建立一个规范的shell脚本、执行shell脚本的多种方法及重要区别精讲、shell脚本开发的9点基本规范和习惯、shell的变量-变量类型-全局变量相关知识讲解、shell的特殊变量-难点理论与实战剖析...

    Linux常见面试题,应对面试分享

    **TCP和UDP协议的区别** **tcp有哪些控制位,分别是什么意思** **你是用过哪些Linux命令** **Linux 系统安全优化与内核优化** **经常使用shell脚本做什么** **软连接与硬链接的区别** **怎么查看文件** **IOS...

Global site tag (gtag.js) - Google Analytics