变量命名规则linux
在Bash中,变量的默认类型都是字符串型shell
变量按照存储数据分类ubuntu
日期型bash
shell变量分类dom
变量定义 变量名=变量值 # 等号左右不能有空格 如 name=tom 变量调用 echo $变量名 变量叠加 x=123 x="$x"456 x=${x}789 变量查看 set 选项: -u 若是设置此选项,调用未声明变量时会报错(默认无任何提示) 变量删除 unset 变量名 如:unset name
环境变量与用户自定义变量的区别 用户自定义变量只在当前的shell中生效 环境变量在当前shell和这个shell的全部子shell中生效 功能说明:以树状图显示程序。 语 法:pstree [-acGhlnpuUV][-H <程序识别码>][<程序识别码>/<用户名称> 参 数: -a 显示每一个程序的完整指令,包含路径,参数或是常驻服务的标示。 -c 不使用精简标示法。 -G 使用VT100终端机的列绘图字符。 -h 列出树状图时,特别标明如今执行的程序。 -H <程序识别码> 此参数的效果和指定"-h"参数相似,但特别标明指定的程序。 -l 采用长列格式显示树状图。 -n 用程序识别码排序。预设是以程序名称来排序。 -p 显示程序识别码。 -u 显示用户名称。 -U 使用UTF-8列绘图字符。 -V 显示版本信息。 补充说明:pstree指令用ASCII字符显示树状结构,清楚地表达程序间的相互关系。若是不指定程序识别码或用户名称,则会把系统启动时的第一个程 序视为基层,并显示以后的全部程序。若指定用户名称,便会以隶属该用户的第一个程序看成基层,而后显示该用户的全部程序。 设置环境变量 export 变量名=变量值 或 变量名=变量值 export 变量名 查看环境变量 set #查看全部环境变量 env #查看环境变量 调用变量 echo $变量名 # 如 echo $name 删除变量 unset 变量名 # 如 unset name
PATH环境变量工具
PATH变量:系统查找命令的路径 echo $PATH #查看PATH环境变量 PATH="$PATH":/root/sh #增长PATH变量的值,等号两边不能有空格
PS1 环境变量字体
PS1变量:命令提示符设置 \d:显示日期,格式为“星期 月 日” \H:显示完整的主机名。如默认主机名“localhost.localdomain" \t:显示24小时制时间,格式为 “HH:MM:SS” \A:显示24小时制时间,格式为 “HH:MM” \u:显示当前用户名 \w:显示当前所在目录的完整名称 \W:显示当前所在目录的最后一个目录 \$:提示符。若是是root用户会显示提示符为“#”,若是是普通用户会显示提示符为“$”
locale # 查询当前系统语序变量 locale -a #查看全部语系 locale -a | more LANG 定义系统主语序的变量 LC_ALL 定义总体语序的变量 echo $LANG #查看当前语系变量 echo $LC_ALL #查看总体语序的变量 cat /etc/sysconfig/i18n #查询系统默认语系 cat /etc/default/locale #ubuntu系统下默认语言的文件 linux中文支持 前提条件,正确安装的中文字体和中文语系: 若是有图形界面,能够正确支持中文显示 若是使用第三方远程工具,只要语系设置正确,能够支持中文显示 若是使用纯字符界面,必须使用第三方插件(如zhcon等)
$n:n为数字,$0表明命令自己,$1-$9表明第一道第九个参数, 十个以上的参数须要用大括号包含,如${10} $*:这个变量表明命令行中全部的参数,$*把全部参数看出一个总体 $@:这个变量也是表明命令行中全部参数,不过$@把每一个参数区分对待 $#:这个变量表明命令行中全部参数的个数
#!/bin/bash #加减乘除 (+-*/) x1=$1 operator=$2 x2=$3 echo "x1" $operator "x2 = " $(($x1 $operator $x2))
#!/bin/bash for i in "$*" #$*中全部参数当作一个总体,因此for循环只执行一次 do echo "The parameters is: $i" done for y in "$@" #$@中的每一个参数是独立的,所以“$@”中有几个参数,就会执行几回 do echo "Parameter:$y" done echo $#
$?:最后一次执行的命令的返回状态。若是这个变量的值为0,证实上一个命令正确执行; 若是这个变量的值为非0(具体是哪一个数,由命令本身来决定),则证实上一个命令执行不正确。 $$:当前进程的进程号(PID) $!:后台运行的最后一个进程的进程号(PID)
echo $$ #返回当前进程号 7588 ps aux | grep 7588
#!/bin/bash echo "current PID: $$" find / -name hello.sh & #&为放入后台 echo "backgroud: $!"
接受键盘输入 read [选项] [变量名] 选项: -p:“提示信息”:在等待read输入时,输出提示符信息 -t 秒数:read命令会一直等待用户输入,使用此选项能够指定等待时间 -n 字符个数:read命令只接受指定的字符数,就会执行 -s:隐藏输入的数据,适用于机密信息的输入
#!/bin/bash read -p "please input your name: " -t 30 name echo -e "\n$name" read -p "please input your passwd: " -s passwd echo -e "\n$name" read -p "please input your angend [M/F]: " -n 1 sex echo $sex