Linux学习日记 —— 10.4.4 Shell基础-Bash变量-预定义变量

1. 预定义变量

预定义变量说明
$?用于判断上一条命令的执行状态。如果上一条命令执行正确,则这个变量的值是0;如果上一条命令执行错误,则这个变量的值是除0之外的其他数(具体是哪个数,由命令的撰写者决定)。
$$当前进程的进程号(PID)。
$!在后台运行的最后一个进程的进程号(PID)。


示例:
命令正确时的情况:

[root@localhost ~]# ls
#查看有什么文件目录
#用于测试这条命令能否正确执行

[root@localhost ~]# echo $?
0

命令错误时的情况:

[root@localhost ~]# lstt
-bash: lstt: command not found

[root@localhost ~]# echo $?
127

文件没有找到时的报错信息:

[root@localhost ~]# echo $?
2

#返回一个2提示文件没有找到

关于进程号变量格式:

[root@localhost ~]# echo $$8790
[root@localhost ~]# echo $!

每个计算机程序只要在运行,至少会产生一个进程。
没有后台运行的进程时,$!的值会为空。


这里,写一个脚本文件示例,内容如下:

#!/bin/bash#Author: shenchao
echo "The current process is $$"
#输出当前进程的PID
#这个PID其实就是这个脚本执行时产生的进程的PID

find /root/sh -name hello.sh&
#使用find命令查找hello.sh文件
#符号&表示把这条命令放入后台执行

echo "The last of daemon processes is $!"

赋予执行权限:

chmod 755 variable.sh

执行该脚本:

[root@localhost sh]# ./variable.sh 
The current process is 8889
The last of daemon processes is 8890
[root@localhost sh]# /root/sh/hello.sh

2. 接收键盘输入

[root@localhost~]# read [选项] [变量名]
作用:接收键盘输入的字符串作为变量的值。
选项:
-p “提示信息” :在等待键盘输入时,输出提示信息,方便用户输入。
-t 秒数:指定等待时间,防止read命令一直等待用户输入。
-n 字符数:指定输入的字符数,只要用户输入指定的字符数,该read命令立即执行完毕。
-s:隐藏输入的数据(屏幕上看不到任何输入信息)。

示例:

[root@localhost sh]# read -p "please input a number:" ab
please input a number:6  
[root@localhost sh]# echo $ab6

read命令也可用于shell脚本文件中,接收用户的输入来作为变量的值。


编写一个脚本read.sh,内容如下:

#!/bin/bash
#Author: shenchao
read -t 30 -p "Please input your name: " name
#提示“请输入姓名”并等待30秒,把用户的输入保存到变量name中
echo "Your name is $name"
echo -e "\r"
# 回车

read -s -t 30 -p "Please input your age: " age
#年龄是隐私,所以用“-s”选项隐藏输入
echo -e "\r"
# 回车
echo "Age is $age"
echo -e "\r"
# 回车

read -n 1 -t 30 -p "Please select your gender [M/F]: " gender
#使用“-n 1”选项只接收一个输入字符就会执行(都不用输入回车)
echo -e "\r"
# 回车
echo "Gender is $gender"

赋予执行权限,然后执行该脚本。

chmod 755 read.sh 
./read.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟敛寒林o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值