认识bash这个shell
whoami 查看当前用户。
shell是一个命令解释器,打开终端会自动连接一个shell。
cat /etc/shells 查看安装的shell,默认使用bash,输入dash可切换为dash。
cd 是 shell 内建的命令,用which,whereis 查不到,可以用 type 查看。
同一行输入多个命令要用;隔开,命令太长可用 \ 换行。
shell的变量功能
创建本地变量 变量名=值 =两边不可以有空格,变量名由字母下划线数字组成,不可以数字开头。
本地变量只在当前shell中存在。
echo $xx 查看变量。
echo $$ 查看当前shell号。
unset xx 取消变量。
set 查看变量。
env export export -p 查看环境变量。
export yy=10
xx=10 export xx 定义环境变量。
declare -x zz=10 定义
declare +x zz 取消环境变量。
PS1环境变量可以设置提示符。
位置变量
set a b c d e f
echo $1 输出a
$0 代表文件名,$#代表参数个数,$*显示所有参数 ${10} 查看第10个变量。
locale -a 查看支持的编码。
echo SLANG 查看正在使用的编码。
变量键盘读取
read yy ;echo $yy
read 88yq ;echo $REPLY
read -p “请输入” name;echo name
echo "$xx" 会转义 echo '$xx' 不会转义。
echo “我买了10本${xx}s”
数组
xx=(aa bb cc dd)
echo ${xx[0]}
echo ${xx[*]} 查看卷标。
echo ${xx[#]} 查看元素个数。
声明
declare -x sum 将sum变成环境变量
declare -r sum 将sum变为只读,不可修改,unset也不能删除。
readonly sum 也可达到同样效果。
ulimit -a 查看文件大小限制。
ulimit -f 20480 限制文件大小。
变量内容的删除替代与替换
${path#*kerberos/bin:} #删除,一个#从头开始删除到最近关键字,两个#删除到最远关键字。
${path%bin*} 从后向前删除。
var = ${str-expr} 详见书316页表11-2
命令别名与命令历史
alias lm='ls -l | more'
unalias lm
history 查看过去的命令,最多1000条。
echo $HISTSIZE
!num 执行第num个命令。