shell中$*与[email protected]的区别

$*所有的位置参数,被作为一个单词

注意:"$*"必须被""引用

[email protected] 与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整的传递,被没有被解释和扩展,这也意味着每个参数列表中的每个参数都被当成一个独立的单词。

注意:"[email protected]"必须被引用。

[email protected],$*只在被双引号包起来的时候才会有差异。

双引号括起来的情况:

$*将所有的参数认为是一个字段.

[email protected]以IFS(默认为空格)来划分字段,如果空格在 “”里面则不不划分。

时间: 2024-11-08 19:18:41

shell中$*与[email protected]的区别的相关文章

$*和[email protected]之间区别代码分析

#!/bin/bash set 'apple pie' pears peaches for i in $*           /*单引号被去掉,循环单个字符输出*/ do echo $i done [[email protected] Ex_14.02-14.31]# sh 14-14-1 apple pie pears peaches -------------------------------------------------------------- #!/bin/bash set

$* 和[email protected]的区别

1 概述 $* 和[email protected]在有加双引号和没有双引号的情况下有明显的区别,在这边用一个实验进行测试 实验的环境如下 为了让实验结果更加明确,在参数里多了一个被双引号引用的参数,而且双引号内里也有多个数值,如下 运行语句 ./varnu.sh a b "12 66 a1c" 99 参数为  a b "12 66 a1c" 99 2 实验 2.1 $* 和 [email protected]没有双引号 $* 和 [email protected]

shell $*与[email protected]的区别

1 #! /bin/bash 2 test() { 3 echo "未加引号,二者相同" 4 echo $* 5 echo [email protected] 6 echo "加入引号后对比" 7 for N in "$*" 8 do 9 echo $N 10 done 11 12 echo "----------" 13 for N in "[email protected]" 14 do 15 echo

shell学习之[email protected] 与 $* 差在哪?

要说 [email protected] 与 $* 之前,需得先从 shell script 的 positional parameter 谈起... 我们都已经知道变量(variable)是如何定义及替换的,这个不用再多讲了. 但是,我们还需要知道有些变量是 shell 内定的,且其名称是我们不能随意修改的, 其中就有 positional parameter 在内.在 shell script 中,我们可用 $0, $1, $2, $3 ... 这样的变量分别提取命令行中的参数, 如ls -

verilog中assign和[email protected](*)的区别和值得注意

verilog描述组合逻辑一般常用的有两种:assign赋值语句和[email protected](*)语句.两者之间的差别有: 1. 被assign赋值的信号定义为wire型,被[email protected](*)结构块下的信号定义为reg型,值得注意的是,这里的reg并不是一个真正的触发器,只有敏感列表为上升沿触发的写法才会综合为触发器,在仿真时才具有触发器的特性. 2. 另外一个区别则是更细微的差别:举个例子, wire a; reg b; assign a = 1'b0; [ema

$*,“$*”,[email protected],"[email protected]"的区别

[[email protected] ~]# set -- "I am" handsome boy #传参数[[email protected] ~]# echo $# #打印参数个数3[[email protected] ~]# for i in $;do echo $i;doneIamhandsomeboy[[email protected] ~]# for i in [email protected];do echo $i;doneIamhandsomeboy[[email pr

标签@RequestMapping和@[email protected]的区别

原文地址:https://www.cnblogs.com/linman/p/10138892.html

Shell特殊变量:Shell $0, $#, $*, [email protected], $?, $$和命令行参数

变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. [email protected] 传递给脚本或函数的所有参数.被

Shell特殊变量:$0, $#, $*, [email protected], $?, $$和命令行参数

变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数. 例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. [email protected] 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到. $? 上个命令的退出状态,或函数的