linux变量
Posted Acumen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux变量相关的知识,希望对你有一定的参考价值。
- linux中位置参数变量
$n | n为数字,$0代表命令本身,$1-$9代表第一至第九哥参数,十以上的参数需要大括号包含,如${10} |
$* | 代表命令行中所有的参数,$*把所有参数看成一个整体 |
[email protected] | 代表命令行中的所有参数,不过[email protected]把每个参数区分对待 |
$# | 代表命令行中所有参数的个数 |
1 [email protected]606:~/testpace$ ./for.sh 1 99 25 2 125 3 The parameters is : 1 99 25 4 parameters : 1 5 parameters : 99 6 parameters : 25 7 3 8 [email protected]606:~/testpace$ cat for.sh 9 #!/bin/bash 10 11 # $* [email protected] $# 12 13 num1=$1 14 num2=$2 15 num3=$3 16 17 sum=$(($num1+$num2+$3)) 18 echo $sum 19 20 21 for i in "$*" 22 do 23 echo "The parameters is : $i" 24 done 25 26 for y in "[email protected]" 27 do 28 echo "parameters : $y" 29 done 30 31 echo $# 32 [email protected]606:~/testpace$
- linux预定义变量
预定义变量 | 作用 |
$? | 最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确执行;如果这个值为非0 (具体数值,由命令自己决定),则证明上一个命令执行不正确. |
$$ | 当前进程的进程号 (PID) |
$! | 后台运行的最后一个进程的进程号 (PID) |
1 [email protected]606:/home/ucm/testpace# cat predefined.sh 2 #!/bin/bash 3 4 echo "当前PID : $$" 5 6 echo "----------***********----------" 7 echo $? 8 9 find / -name pidTest >> /home/ucm/testpace/find.log & 10 echo "后台PID : $!" 11 [email protected]606:/home/ucm/testpace# chmod 755 predefined.sh 12 [email protected]606:/home/ucm/testpace# ./predefined.sh 13 当前PID : 4608 14 ----------***********---------- 15 0 16 后台PID : 4609 17 [email protected]606:/home/ucm/testpace# find: ‘/run/user/1000/gvfs’: 权限不够 18 ^C 19 [email protected]606:/home/ucm/testpace# cat find.log 20 /home/ucm/testpace/pidTest 21 [email protected]606:/home/ucm/testpace#
- 接受键盘输入
read [option] [variable name]
options:
-p "提示信息" : 在等待read输入时,输出提示信息
-t 秒数 : read命令会一直等待用户输入,使用此项可以制定等待时间
-n 字符数 : read命令只接受指定的字符数,就会执行
-s : 隐藏输入的数据,适用于机密信息的输入
1 [email protected]606:/home/ucm/testpace# cat read.sh 2 #!/bin/bash 3 4 read -p "please input your name : " -t 30 name 5 echo $name 6 7 read -p "please input your passwd : " -s -t 30 passwd 8 echo -e "\n" 9 echo $passwd 10 11 read -p "please input your sex [M|F] : " -n 1 sex 12 echo -e "\n" 13 echo $sex 14 [email protected]606:/home/ucm/testpace# ./read.sh 15 please input your name : linux 16 linux 17 please input your passwd : 18 19 123456 20 please input your sex [M|F] : f 21 22 f 23 [email protected]606:/home/ucm/testpace#
以上是关于linux变量的主要内容,如果未能解决你的问题,请参考以下文章