-
环境变量:
locale
查看全部 -
预定义变量:
1、$?:最后一次执行的命令的返回状态。
如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。
2、$$:当前进程的进程号(PID)。
3、$!:后台最后一个运行的进程的进程号(PID)。
执行命令后在后面加一个& ,可以在后台进行 执行完一条命令之后,立马敲入echo $?,可得到返回值。例如:ls 执行之后,再敲入echo $?,可以得到0
接收键盘输入
read [选项] [变量名]
选项:
-p "提示信息":在等待read输入时,输出提示信息
-t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间
-n 字符数:read命令只接受指定的字符数,就会执行
-s:隐藏输入的数据,适用于机密信息的输入
read.sh:
#!/bin/bash
read -p "please input your name:" -t 30 name
echo $name
read -p "please input your passwd:" -s passwd echo -e "\n"
echo $passwd
read -p "please input your sex [M/F]:" sex echo -e "\n"
echo $sex
查看全部 -
1、位置参数变量
$n:n 为数字,$0 代表命令本身,$1-$9 代表第一到第九个参数,十以上的参数需要用大括号包含,如 ${10}。
$*:这个变量代表命令行中所有的参数,$* 把所有的参数看成一个整体。
$@:这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区分对待。
$#:这个变量代表命令行中所有参数的个数。
2、例子1:
#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))
#变量 sum 的和是 num1 加 num2
echo $sum
#打印变量 sum 的值
执行脚本: $ ./test.sh 45 76
3、例子2
#!/bin/bash
echo "A total of $# parameters"
#使用 $# 代表所有参数的个数
echo "The parameters is:$*"
#使用 $* 代表所有的参数
echo "The parameters is:$@"
#使用 $@ 代表所有的参数
执行脚本: $ ./test.sh 11 22 33 44
4、例子3:$* 与 $@ 的区别
#!/bin/bash
for i in "$*"
# $* 中所有参数看成是一个整体,所以这个 for 循环只会循环一次
do
echo "The parameters is:$i"
done
for y in "$@"
# $@ 中每个参数都看成是独立的,所以 $@ 中有几个参数,就会循环几次
do
echo "Parameter:$y"
done
查看全部 -
当前语系查询:locale //直接生效的是LANG变量(默认语系) LC_ALL:定义整体语系(不常用)
echo $LANG //当前语系环境
echo $LC_ALL //整体语系环境
locale -a | more 查看Linux支持的所有语系环境
cat /etc/sysconfig/i18n centos7 cat /etc/locale.conf //下次开机以后的系统环境
LANG=zh_CN.UTF-8 //切换成中文
查看全部 -
1、环境变量与用户自定义变量的区别
环境变量是全局变量,用户自定义变量是局部变量。
用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生效。
用户可以自定义环境变量,但对系统生效的环境变量名和变量作用是固定的。
2、用户自定义环境变量
$ export 变量名=变量值 或 $ 变量名=变量值 $ export 变量名
3、查看环境变量
$ set 查看所有变量
$ env 查看环境变量
4、删除环境变量
$ unset 环境名
5、常用的环境变量
HOSTNAME:主机名
SHELL:当前的 shell
TERM:终端环境
HISTSIZE:历史命令条数
SSH_CLIENT:当前操作环境是用 ssh 连接的,这里记录客户端 ip
SSH_TTY:ssh 连接的终端是 pts/1
USER:当前登录的用户
PATH:系统搜索命令的路径
要想直接通过脚本名执行自己的脚本:
(1)将脚本拷贝至 PATH 中的任意目录下(不建议这样做),例如: $ cp hello.sh /bin/
(2)将脚本所在目录添加到 PATH 变量中,例如: $ PATH="$PATH":/root/sh 但系统重启后失效
PS1:命令提示符设置
\d:显示日期,格式为"星期 月 日"
\H:显示完整的主机名
\t:显示 24 小时制时间,格式为"HH:MM:SS"
\A:显示 24 小时制时间,格式为"HH:MM"
\u:显示当前用户名
\w:显示当前所在目录的完整名称
\W:显示当前所在目录的最后一个目录
\$:提示符。root 用户为"#",普通用户为"$"
查看全部 -
1、变量=值 e.g. x=5 注意,变量名只能是字母、下划线、数字组成且不能以数字开头,=号左右不可有空格
2、""会解析特殊符号,例如$,''不会解析特殊符号
3、引用变量:$变量名 例如:$x
4、所有变量默认的值都是字符串类型,不可做Math运算
5、变量叠加 e.g y="$x"123 或者 y=${x}123
6、查看变量 set 会列出系统中所有的变量,包括环境变量和自定义变量 set -u //设定当调用不存在变量时,会提示错误
7、删除变量 unset 变量名 例如:unset x
查看全部 -
变量命名规则
开头为字符或下划线,名字中间中能有字母、数字和下划线组成;
变量的长度不超过255个字符;
变量名在有效的范围内必须是唯一的; //如再次定义则会替换上一个变量的值
在Bash中,变量的默认类型都是字符串型. //即系统把所有值都当作字符串放到变量中,不论这个“字符串”实际上是整数、浮点数等等
变量的分类
用户自定义变量
环境变量
位置参数变量 //实际就是预定义变量
预定义变量
查看全部 -
变量只能是字母下划线开头,不能是数字开头。
变量只能有字母,数字,下划线组成。
查看全部 -
locale支持的语系 $LANG 当前支持的语系$LANG 默认支持的语系 支持的所有语系查看全部
-
环境变量,包含系统环境变量和自定义环境变量 系统环境变量,是操作系统,所使用的变量 注PS1 PATH查看全部
-
接收键盘输入
查看全部 -
预定义变量
查看全部 -
$* 与 $@ 的区别
查看全部 -
位置参数变量
查看全部 -
Linux中文支持
查看全部
举报