linux命令 $- 是什么意思

linux命令 $- 是什么意思,第1张

在 Linux 系统中, $ 符号表示当前用户的命令行提示符。它通常出现在命令的开头,表示这是一条需要在命令行中运行的命令。

如果你在命令行中看到 $- 意味着这是一条终端命令,且$ 是特殊字符,表示当前用户。而- 是参数,具体取决于后面的命令。

例如: $ ls -al 这里ls是命令, -al 是参数,代表显示所有文件(包括隐藏文件)并且以详细格式显示文件信息。

$ 是 变量符,在Linux系统里面表示获取一个变量的值。比如 a=finmnk 使用 $a 就表示变量a,其值为 finmnk%。

再举例如:

#!/bin/bash --------指定编译shell环境为bash

STR="Hello World!"----设置STR的变量值为Hello World!

echo $STR ------ 用echo命令读取STR变量的数值。这里如果不加$, 输出结果是STR,加上$,输出结果就是Hello World!。$# 是传给脚本的参数个数$0是脚本本身的名字$1是传递给该shell脚本的第一个参数$2是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

$ 在linux里是用来给变量命令的,例如$JAVA_HOME,是指JAVA_HOME的环境变量。

echo $JAVA_HOME 可以在linux终端输出jdk的home目录。

在Shell 脚本中向脚本传递参数也会用到$,例如脚本内获取参数的格式为:$n,n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。

实例-向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名:

#!/bin/bash

Shell 传递参数实例!"

echo "执行的文件名:$0"

echo "第一个参数为:$1"

echo "第二个参数为:$2"

echo "第三个参数为:$3"

扩展资料

另外$还可以配合几个特殊字符用来处理参数:

1、$#:传递到脚本的参数个数。   

2、$* :以一个单字符串显示所有向脚本传递的参数。

如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。   

3、$$:脚本运行的当前进程ID号 。  

4、$!:后台运行的最后一个进程的ID号。   

5、$@:与$*相同,但是使用时加引号,并在引号中返回每个参数。

如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。   

6、$-:显示Shell使用的当前选项,与set命令功能相同。   

7、$? :显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。  


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7169259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存