我正在学习bash扩展。
有三种类型的扩展与 $
我尝试特殊符号$
。
$ ls
foo bar zoo
$ echo $*
#return nothing
$ echo $@*
foo bar zoo
这是怎么回事与@
和$
另外,
$ ls $
ls: $: No such file or directory
$ ls $*
foo bar zoo
$ ls $a #or any character
foo bar zoo
我对的易变性感到困惑$
。
上面如何解释其行为。
一些例子:
#!/bin/bash
a_function(){
echo "positional parameters must be called in a script or a function"
echo "positional parameters: $@"
echo "positional parameters: $*"
echo "directory's content:" *
}
a_function "one" "two" "three" "pan"
输出:
positional parameters must be called in a script or a function
positional parameters: one two three pan
positional parameters: one two three pan
content of directory: <your current directory>
ps:
ls $a
ls变量a(空),所以很简单lsls $*
ls位置参数(空),所以很简单lsecho $@
*显示$ @(空)和目录”ls: $
,$
仅错误更多信息:doc bash
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句