shell :命令解释器
别名
alias 别名=‘原命令’
alias永久化方法:
1.每次登入都自动生效,就把别名加在/etc/profile或~/.bashrc中,然后#source ~ /.bashrc
2.让每一位用户都生效,把别=别名加在/etc/bashrc最后面,然后#source/etc/passwd
管道符
#命令1 | 命令2
命令1的正确输出作为命令2的操作对象
echo输出命令
#echo 选项 输出内容
选项 -e 支持反斜线控制的字符转换
\n换行且光标移至行首
\t插入制表符
\b删除前一个字符
\插入\字符
\nnn插入nnn八进制所代表的ASCII字符
shell脚本
vim datewho.sh
#!/bin/bash
dare
who
运行方式
1.#sh ./datewho.sh 在sh所在目录下使用
2.# chmod +x datewho.sh
# ./datewho.sh 可在任何目录下使用 只要路径对
shell中的变量
本地变量:可在shell程序内任意使用和修改它们
环境变量:可以在创建它们的shell及其派生出来的任意子程序中使用,有些事用户创建的,其他的是专用的(如PATH,HOME)是系统环境的一部分,不必去定义它们,可在shell程序中使用它们也可在shell中修改它们
内部变量:有系统提供不能修改它们
变量名=值
*等号两边不能有空格
*取值包含空格要用双引号括起来
*区分大小写
变量引用:$变量名 或${变量名} 多于一个字符用大括号括起来
显示变量:echo $name
echo ${name} are
清除变量:unset 变量名 *清除是变量名前没有 $ 符
环境变量:
可在命令行中设置,但用户注销这些值将消失
环境变量均为大写,必须用export命令导出
显示环境变量:
env 可以看到所有的环境变量
echo $ 环境变量名 可以显示一个环境变量
清除 也用 unset 环境变量名
内部变量
$#传给shell程序的位置参数的数量
$?最后命令的完成码或者shell程序的返回值,0表示正确,其他数值都表示错误
$0表示程序的名称
$*调用全部参数,” …… “输出一串
@:调用全部参数,“..”“..”“..”单个出
@
:
调
用
全
部
参
数
,
“
.
.
”
“
.
.
”
“
.
.
”
单
个
出
n:第n个参数
配置文件
/etc/profile 存放一些全局变量,不管哪个用户,登录时都会读取该文件,通常设置一些shell变量 PATH,USER,HOSTNAME,HISTSIZE
~/.bash_profile :每个用户都可使用该文件输入专用于自己的shell信息,当用户登录时,该文件仅执行一次,默认情况下执行用户.bashrc文件
~/.bsahrc:该文件包含专用于用户的bash shell的bash信息,当登录以及每次打开新的shell时,该文件被读取
/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取
shell脚本语法
expr数值运算:运算符两侧必须有空格;表达式中数字和运算符只要有空格出现就用反引号括起来。
条件判断命令test,可以用中括号代替[ ],表达式与中括号之间有空格
if后加then , fi
for循环 for 后加 do, done
read可以读取键盘输入值
read -p 指定读取时的提示符
函数在使用前先定义
shell中的数组下标可以是任意字符