咱们中的大多数人都运用Bash脚原本进行维护和某些其他使命。但是,咱们并不总是熟知各种Bash选项。每逢用户是Bash shell和Linux的新手时,用户往往会寻求一个预先写好的Bash脚本。这是由于一些用户发现独特的Bash字符如@,@, _, 和1令人困惑。从1令人困惑。从@这个Bash参数开端,它被用来延伸到位置参数。只要在双引号内发生扩展,每个参数都会扩展成类似于一个独立的单词。假如运用@,独立的参数应该用引号括起来,并用空格来区别。请记住,@,独立的参数应该用引号括起来,并用空格来区别。请记住,@应该被加引号才能正常作业。尽管如此,它的行为与作为独立字符串的参数类似。
咱们将经过几个比如来论述Ubuntu 20.04体系中Bash脚本中$@的功用。
比如1:
一开端,咱们需求以sudo用户的身份从Ubuntu 20.04发行版中登录。登录成功后,咱们将翻开命令行,开端作业。要翻开它,请运用 “Ctrl+Alt+T“。作为代替办法,咱们也能够运用活动区,从查找栏中找到操控台终端。正确翻开后,咱们将经过创立一个新的Bash文件开端在Bash中对$@进行作业。所以,咱们一直在运用 “touch“查询,文件的名字是 “one.sh“。注意,Bash文件包括一个”.sh“扩展名。在shell中写完以下指令后点击 “Enter“来运转它。你会在Ubuntu 20.04的主目录中找到新生成的Bash文件。
$ touch one.sh
现在,Bash文件现已生成;咱们必须在修改器中翻开它来增加和修改其间的Bash脚本。因而,咱们将在终端外壳上运用 “GNU Nano“修改器来翻开它。因而,咱们在shell中运用了 “nano“关键字指令,并将文件名定为 “one.sh“,如下图所示。
$ nano one.sh
你需求在你的Bash文件 “one.sh“中编写以下三行脚本。咱们首先在文件中增加了Bash扩展名。之后,咱们在这个脚本中运用了三个echo句子来运用三个特别字符并输出各自的成果。请注意,”#**”字符被用来输出将由用户在shell中增加的输入或参数字符串的总数。**@“字符用于在终端上显现这三个值或参数,而”$?“字符有一个特别的使命,假如最终一条命令变得成功,则回来0。在Bash中,”Ctrl+S“快捷键经常被用来保存Bash文件,一起在某种 “nano“修改器中翻开。所以,保存你的one.sh文件,并运用 “Ctrl+X“将其回来到终端。
现在,新创立的Bash脚本现已在咱们的体系中得到了保存和维护;现在是使其可履行的时分了。你必须注意,在履行文件的过程中,像$@这样的字符会在终端中获取参数值。因而,在你的Ubuntu shell中运用 “bash“关键字查询,文件名为 “one.sh“,并按所述分配参数值。你能够从下面的快照中看到,咱们为Bash脚本one.sh供给了3个字符串类型的参数值,例如:Aqsa、Rimsha和Awan。输出的成果是显现3行输出。榜首行显现的是加入的总参数数。第二行显现的是用户传递的参数值。最终,第三行显现回来值为0,因为第二行的命令现已成功了。
$ bash one.sh Arg1 Arg2 Arg3
比如2:
为了进一步理解$@字符和功用的概念,咱们需求在文章中再举一个比如。因而,咱们将用GNU nano修改器翻开同一个文件,”one.sh“。为此,咱们尝试了以下指令,并点击键盘上的 “Enter “按钮继续。
$ nano one.sh
由于该文件现在现已翻开,咱们将在其间增加一个新的、更新的Bash脚本。这一次,咱们一直在运用一个简单的Bash脚原本论述@字符的功用。所以,你必须用下面图片中的Bash脚原本更新你的Bash脚本。咱们运用for循环,每次取一个项目作为用户在终端上传递的@字符的功用。所以,你必须用下面图片中的Bash脚原本更新你的Bash脚本。咱们运用for循环,每次取一个项目作为用户在终端上传递的@的参数。每个项目都经过echo句子显现在终端上。在保存文件之后,咱们回来到操控台履行Bash脚本。
在Bash指令中,咱们将5个字符串类型的参数与文件名 “one.sh“一起传递。在按下 “Enter“键后,终端现已别离显现了每个参数。
$ bash one.sh Arg1 Arg2 Arg3 Arg4 Arg5
比如3:
让咱们细心看看上面论述的另一个相同的@的比如。在这个比如中,咱们将运用@的比如。在这个比如中,咱们将运用@和\*来比较和区别这两个特别字符的效果。这样,咱们就能正确理解\*来比较和区别这两个特别字符的效果。这样,咱们就能正确理解@字符的效果。要翻开现已创立的文件 “one.sh“,请在Ubuntu 20.04的操控台中编写并运转以下指令。
$ nano one.sh
咱们现已更新了上面的示例代码。咱们所做的只是在for循环中为”$*“增加相同的代码。咱们保存了Bash代码并退出了该文件。
在履行过程中,由于\*字符的运用,它显现榜首行是整个参数。一切其他的行都是\*字符的运用,它显现榜首行是整个参数。一切其他的行都是@字符的输出。
$ bash one.sh Arg1 Arg2 Arg3 Arg4 Arg5
比如4:
在咱们的最终一个比如中, 咱们将经过函数和循环来解说$@字符的功用.因而,为了更新Bash脚本,咱们用shell中的 “nano“修改命令再次翻开了 “one.sh“文件,如下所示。
$ nano one.sh
这一次,咱们一直在运用办法foo()来打印各自办法中传递的特别字符的参数,直到它什么都没有得到。办法 “Dollar1“用于@特别字符,”∗∗Dollar2∗∗”用于@特别字符,”**Dollar2**”用于*字符的运作。这两个办法都包括调用foo()办法,别离用特别字符@和@和*来传递参数。Dollar1和Dollar2办法是在echo句子后调用的,一起都包括相同的三个参数作为其参数值。
代码的履行别离显现了Dollar1和Dollar2办法的输出。运用@”显现的是@”显现的是@的输出,而 “运用\*”则别离显现\*”则别离显现*字符的输出。
$ bash one.sh
总结
本指南介绍了如安在Bash脚本中运用@,声明它以及它是怎么作业的。咱们还描绘了@,声明它以及它是怎么作业的。咱们还描绘了@和其他与美元相关的字符之间的区别,以使其更简单理解。 咱们期望你在履行时也能享受到它。