首页 > 系统相关 >Shell 特殊符号(变量)用法小结

Shell 特殊符号(变量)用法小结

时间:2023-07-13 14:57:03浏览次数:44  
标签:Shell 变量 parameter echo xz sh 参数 特殊符号 小结

Shell | 特殊变量

 

$n

基本语法:

$n (功能描述:n 为数字,$0 代表该脚本名称,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}

例如:

$ touch parameter.sh
$ vim parameter.sh
#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2

$ chmod 777 parameter.sh
$ ./parameter.sh cls xz
==========$n==========
./parameter.sh
cls
xz

$#

基本语法:

$# (功能描述:获取所有输入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性)。

例如:

$ vim parameter.sh
#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2
echo '==========$#=========='
echo $#
$ chmod 777 parameter.sh
$ ./parameter.sh cls xz
==========$n==========
./parameter.sh
cls
xz
==========$#==========
2

$*$@

基本语法:

$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待

例如:

$ vim parameter.sh
#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2
echo '==========$#=========='
echo $#
echo '==========$*=========='
echo $*
echo '==========$@=========='
echo $@
$ ./parameter.sh a b c d e f g
==========$n==========
./parameter.sh
a
b
==========$#==========
7
==========$*==========
a b c d e f g
==========$@==========
a b c d e f g

$?

基本语法:

$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)

例如:判断 helloworld.sh 脚本是否正确执行

$ ./helloworld.sh
hello world
$ echo $?
0

总结:

在我们nlp的执行的脚本中,会有很多这种特殊字符的使用,熟练掌握这几种特殊字符代表着什么是十分必要的。

标签:Shell,变量,parameter,echo,xz,sh,参数,特殊符号,小结
From: https://www.cnblogs.com/FireLife-Cheng/p/17550448.html

相关文章

  • shell脚本学习笔记
    目录执行一个shell脚本变量赋值引用高级变量交互式shell数值计算test命令中括号判断符默认变量$0~$n$(())、$()、``、${}、''、""、()、(())、[]、[[]]、{}条件判断-与或非函数循环标准输入输出整数比较&字符串比较shell脚本中调用另一个shell脚本的三种方式:fork、exec、......
  • Shell | 条件判断
    基本语法:(1)testcondition(2)[condition](注意condition前后要有空格)注意:条件非空即为true,[atguigu]返回true,[]返回false。常用判断条件:(1)两个整数之间比较-eq等于(equal)-ne不等于(notequal)-lt小于(lessthan)-le小于等于(lessequal)-gt大于(greaterthan)-ge大......
  • 如何实现参考教材4.5.2,在Spark Shell中编写代码实现: 1、用SparkSQL 向Hive的表写入
    使用SparkSQL向Hive表写入数据的流程为了向Hive表写入数据,我们需要完成以下步骤:步骤描述1创建SparkSession2创建DataFrame3将DataFrame注册为表4写入数据到Hive表接下来,我们将逐步指导你完成这些步骤。步骤1:创建SparkSession首先,我们需要创建一个Spa......
  • Shell | 正则表达式
    正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在Linux中,grep,sed,awk等文本处理工具都支持通过正则表达式进行模式匹配。常规匹配一串不包含特殊字符的正则表达式匹配它自......
  • 【计算机教育缺失的一课】01 课程概览与shell
    一、单个程序(1)shell当可视化界面无法实现你想要的功能时,shell是你和计算机交互的主要方式之一。大多数平台也都提供一些形式的shell。在windows上一般是powershell,但也有其他shell可用。有不同类型的shell最常见的是Bash(BourneAgainSHell)(2)terminal......
  • Shell | 函数语法
    系统函数1、basename基本语法:basename[string/pathname][suffix](功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来。basename可以理解为取路径里的文件名称选项:suffix为后缀,如果suffix被指定了,basename会将pathname或string......
  • Shell | 循环语句
    for循环基本语法1:for((初始值;循环控制条件;变量变化))do 程序done例子:从1加到100$touchfor1.sh$vimfor1.sh#!/bin/bashsum=0for((i=0;i<=100;i++))dosum=$[$sum+$i]doneecho$sum$chmod777for1.sh$./for1.sh5050基本语法2:for变量in值......
  • Shell | 判断语句
    if判断基本语法:(1)单分支if[条件判断式];then 程序fi或者if[条件判断式]then 程序fi(2)多分支if[条件判断式]then 程序elif[条件判断式]then 程序else 程序fi注意事项:​ ①[条件判断式],中括号和条件判断式之间必须有空格​ ②if后要有空格......
  • 1.8 运用C编写ShellCode代码
    在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的MessageBox弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现ShellCode的编写以外,使用C同样可以实现编写,......
  • ansible shell模块简单使用
    ansibleshell模块简单使用参数参数说明chdir运行命令前先CD到该目录cmd运行的命令creates存在某个文件就不运行命令executable更改执行命令的shell路径,需要是绝对路径free_formTheshellmoduletakesafreeformcommandtorun,asastring.The......