资讯专栏INFORMATION COLUMN

linux-shell-特殊变量

lemanli / 3351人阅读

摘要:环境变量使用命令可以查看到当前工作环境下的环境变量环境变量位置变量传递给脚本或函数的参数。表示后面的表达式为一个数学运算执行一个或多个表达式。表达式中的变量前不必有如果表达式中包含了空格或其他特殊字符,则必须引起来。

环境变量

使用env命令可以查看到当前工作环境下的环境变量

[root@VM_158_86_centos vbird]# env
XDG_SESSION_ID=665714
HOSTNAME=VM_158_86_centos
NVM_CD_FLAGS=
TERM=xterm-256color
SHELL=/bin/bash
HISTSIZE=3000
SSH_TTY=/dev/pts/0
NVM_DIR=/root/.nvm
USER=root
环境变量$PATH
[root@VM_158_86_centos vbird]# echo $PATH
/root/.nvm/versions/node/v10.7.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
位置变量
$n    传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
预定义变量
$0    当前脚本的文件名
$#    传递给脚本或函数的参数个数。
$*    传递给脚本或函数的所有参数。
$@    传递给脚本或函数的所有参数。可以当作数组用 被双引号(" ")包含时,与 $* 稍有不同
$?    上个命令的退出状态,或函数的返回值。
$$    当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。

exec:

#!/bin/bash
#expr表示后面的表达式为一个数学运算
#Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含>了空格或其他特殊字符,则必须引起来。
let sum=$1+$2
#运算符+号前后必须加空格
sum_expr=`expr $1 + $2`
echo $sum
echo $sum_expr

echo "fileName:$0"
echo "this Shell PID:$$"
echo "first parameters:$1"
echo "second parameters:$2"
echo "all parameters:$*"
echo "all parameters array:$@"
echo "parameters numbers:$#"
echo "the previous command exec status:$?"

result:

[root@VM_158_86_centos vbird]# sh special_var.sh 1 2
3
3
fileName:special_var.sh
this Shell PID:4057
first parameters:1
second parameters:2
all parameters:1 2
all parameters array:1 2
parameters numbers:2
the previous command exec result:0

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/63781.html

相关文章

  • linux-shell-命令替换和变量替换

    摘要:命令替换命令替换是指将命令的输出结果赋值给某个变量中有两种方式可以完成命令替换,一种是反引号,一种是,使用方法如下其中,是变量名,是要执行的命令。若此替换出现在脚本中,那么脚本将停止运行。 命令替换$() `` Shell 命令替换是指将命令的输出结果赋值给某个变量 Shell 中有两种方式可以完成命令替换,一种是反引号 ,一种是$(),使用方法如下: variable=`comman...

    张巨伟 评论0 收藏0
  • 经验拾忆(纯手工)=> Linux实用工具命令

    摘要:为啥直接不行呢因为以开头的最后一条命令是。和和和强制终止最常用的,先提出来。。。。我们可以通过这一条命令来迅速回到程序运行的环境。其实这些配置文件以及这些命令和用户以及权限等都是有很大关系的。 Ubuntu16升级到18.04 有特殊新颖强迫症癖好可以升下,如果你觉得16.04好用,就根本没必要升了 我当时租的 云服务器通常都是16.04,现在估计也是16.04较多 我是个...

    null1145 评论0 收藏0
  • 经验拾忆(纯手工)=> Linux实用工具命令

    摘要:为啥直接不行呢因为以开头的最后一条命令是。和和和强制终止最常用的,先提出来。。。。我们可以通过这一条命令来迅速回到程序运行的环境。其实这些配置文件以及这些命令和用户以及权限等都是有很大关系的。 Ubuntu16升级到18.04 有特殊新颖强迫症癖好可以升下,如果你觉得16.04好用,就根本没必要升了 我当时租的 云服务器通常都是16.04,现在估计也是16.04较多 我是个...

    gougoujiang 评论0 收藏0
  • 经验拾忆(纯手工)=> Linux实用工具命令

    摘要:为啥直接不行呢因为以开头的最后一条命令是。和和和强制终止最常用的,先提出来。。。。我们可以通过这一条命令来迅速回到程序运行的环境。其实这些配置文件以及这些命令和用户以及权限等都是有很大关系的。 Ubuntu16升级到18.04 有特殊新颖强迫症癖好可以升下,如果你觉得16.04好用,就根本没必要升了 我当时租的 云服务器通常都是16.04,现在估计也是16.04较多 我是个...

    kk_miles 评论0 收藏0
  • Bash脚本编程之引用

    摘要:比如某些场景下引号的用途是保护命令参数,但仍然允许调用程序扩展特殊字符引用变量引用变量时,通常建议用双引号括起。这可以防止重新解释引用字符串中除外的所有特殊字符。 引用的意思是用引号括起一个字符串,以保护字符串中的特殊字符不被shell或shell脚本重新解释或扩展: # 在通配和正则模式中拥有特殊含义的*号在引用中失去了特殊意义 bash$ ls -l [Vv]* -rw-rw-r...

    soasme 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<