美文网首页
two.day_shell特殊变量

two.day_shell特殊变量

作者: 1220 | 来源:发表于2019-06-02 11:08 被阅读0次

shell中特殊的变量

1、$0示例:


image.png

2、*和@和$#

[root@play ~]# set -- "I am" handsome oldboy.
[root@play ~]# echo $1
I am
[root@play ~]# echo $2
handsome
[root@play ~]# echo $3
oldboy.
[root@play ~]# echo $#
3
[root@play ~]# echo $*
I am handsome oldboy.
[root@play ~]# echo $@
I am handsome oldboy.
[root@play ~]#  for i in "$*";do echo $i;done
I am handsome oldboy.
[root@play ~]# for i in "$@";do echo $i;done
I am
handsome
oldboy.
[root@play ~]# 
image.png

例子如下:

[root@web01 /server/scripts]# cat oldboy.sh 
echo $0
echo $1 $2 $3 $4 $5 $6 $7 $8 $9 ${10} ${11} ${12} $13 $14 $15
echo $#
echo $*
echo $@
echo $$|tee /tmp/a.log
sleep 30
[root@web01 /server/scripts]# 
[root@web01 /server/scripts]# 
[root@web01 /server/scripts]# 
[root@web01 /server/scripts]# cat kill.sh 
kill `cat /tmp/a.log`

[root@play ~]# OLDBOY="I am oldboy"
[root@play ~]# echo $OLDBOY
I am oldboy
[root@play ~]# echo ${#OLDBOY}
11
[root@play ~]# echo ${OLDBOY:2}
am oldboy
[root@play ~]# echo ${OLDBOY:2:2}
am
[root@play ~]# echo ${OLDBOY:5}
oldboy
[root@play ~]# OLDBOY=abcABC123ABCabc
[root@play ~]# echo $OLDBOY
abcABC123ABCabc
[root@play ~]# echo ${OLDBOY#a*C}
123ABCabc
[root@play ~]# echo ${OLDBOY##a*C}
abc
[root@play ~]# echo ${OLDBOY%a*C}
abcABC123ABCabc
[root@play ~]# echo ${OLDBOY%%a*C}
abcABC123ABCabc
[root@play ~]# echo ${OLDBOY%%a*c}

[root@play ~]# echo ${OLDBOY%a*c}
abcABC123ABC
[root@play ~]# echo ${OLDBOY/abc/oppo}
oppoABC123ABCabc
[root@play ~]# echo ${OLDBOY/oppo/abc}
abcABC123ABCabc
[root@play ~]# echo ${OLDBOY//abc/oppo}
oppoABC123ABCoppo

[root@play ~]# echo ${OLDBOY/%abc/oldgirl}
abcABC123ABColdgirl

获取变量长度的5中方法

[root@play ~]# echo $OLDBOY|wc -L
15
[root@play ~]#  echo ${#OLDBOY}
15
[root@play ~]#  expr length "$OLDBOY"
15
[root@play ~]# echo $OLDBOY|awk '{print length}'
15
[root@play ~]#  echo $OLDBOY|awk '{print length($0)}'
15
[root@play ~]# 
image.png
[root@web01 /server/scripts]# test=lele
[root@web01 /server/scripts]# echo $test
lele
[root@web01 /server/scripts]# result=${test:-unset}
[root@web01 /server/scripts]# echo $result
lele
[root@web01 /server/scripts]# unset test
[root@web01 /server/scripts]# echo $test

[root@web01 /server/scripts]# result=${test:-unset}
[root@web01 /server/scripts]# echo $result
unset
image.png

五种运算方法:推荐用let和小括号

[root@play ~]# a=1
[root@play ~]# let a=a+1
[root@play ~]# echo $a
2
[root@play ~]# a=10
[root@play ~]#  ((a=a+1))
[root@play ~]#  echo $a
11
[root@play ~]#
[root@play ~]# a=10
[root@play ~]# expr $a + 110
120
[root@play ~]# 
[root@play ~]# a=10
[root@play ~]# expr $a + 110
120
`[root@play ~]# a=11`
`[root@play ~]#  echo $[$a+11]`
`22`
```[root@play ~]# c="$[a+11]"
```[root@play ~]# echo $c````
22
[root@play ~]# 
[root@play ~]# a=8
[root@play ~]# declare -i a=a+10
[root@play ~]# echo $a
18
[root@play ~]# 

整数或者小数运算:awk或者bc

`[root@play ~]# echo 1 3|awk '{print $1-$2}'`
-2
`[root@play ~]# echo 1.9 3|awk '{print $1+$2}'`
4.9
`[root@play ~]# echo 1.998 3|awk '{print $1+$2}'`
4.998
`[root@play ~]# echo 1.998 3|awk '{print $1*$2}'`
5.994
`[root@play ~]# echo 1.998 3|awk '{print $1%$2}'`
1.998
[root@play ~]# 
image.png image.png image.png

第六章shell条件测试

`[root@play ~]# test -f a && echo ddd >a ||echo 0`
0
`[root@play ~]# `
[root@play ~]# touch a
[root@play ~]# test -f a && echo ddd >a ||echo 0
[root@play ~]# cat a
ddd
[root@play ~]# 
image.png image.png image.png

相关文章

  • two.day_shell特殊变量

    shell中特殊的变量 1、$0示例: 2、@和$# 例子如下: 获取变量长度的5中方法 五种运算方法:推荐用le...

  • Shell特殊变量

    Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 特殊变量列表 变量 含...

  • Shell编程-05-Shell中的特殊变量和扩展变量

    特殊变量     在Shell中的特殊变量主要分别两种位置参数变量、状态变量两种。 位置参数变量     Shel...

  • Shell特殊变量

    特殊变量列表变量 含义n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是//2。*...

  • shell特殊变量

    :特殊变量列表 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个...

  • Shell特殊变量

    前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。 ...

  • 特殊变量列表

    特殊变量列表 命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示,例如,$1 表示第一...

  • bash特殊变量

    变量解释$*所有命令行参数,一个字符串$@所有命令行参数,一个数组$#所有命令行参数个数$?上一个进程退出码$_表...

  • bash脚本编程-变量,变量类型

    bash变量类型: 环境变量,本地变量,位置变量,特殊变量。 本地变量: bash: VARNAME=value ...

  • 基本语法一

    # echo 定义变量 只读变量readonly 删除变量 unset 变量类型 特殊变量 字符串

网友评论

      本文标题:two.day_shell特殊变量

      本文链接:https://www.haomeiwen.com/subject/axzltctx.html