linux系统中shell设置
/etc/shells
/etc/shells: defines valid login shells
/bin/sh(已经被/bin/bash所替代)
/bin/bash(Linux默认的shell)
/bin/tcsh(整合C shell ,提供更多功能)
/sbin/nologin(避免用户使用ftp以外的其他主机资源,写这么一个奇怪的shell)
End of file
一般用户登陆进来就会获得默认的shell。具体在/etc/passwd上看
一,bash shell 的优点
(1)命令记忆能力
按上下键可以找到前后输入的命令(之前输入的命令会保存在.bash_history里面,本次操作不会,只有注销本次登陆才会保存在该文件夹)
(2)命令与文件补全功能
按tab键
(3)命令别名设置功能
alias 特别好用,
比如 alias lm =‘ls -al’
在凝思操作系统中,有环境变量.cshrc可以在这个文件里面设置alias lm ‘ls -al’
(4)作业控制,前台后台控制
(5)程序脚本
(6)通配符
比如查询某个路下有多少以m开头的文件
ls -l /home/d5000/test/osp/conf/m* 注意一定要是绝对路径(pwd查看路径)
二,bash shell的内置命令:type
type 加命令名,可以判断是否是bash的内置命令
三,变量的显示与设置:echo,unset
echo用于显示变量的内容,显示之前必须要加一个$
比如 echo $HOME
则会展示/home/d5000/test
变量的设置与修改
echo $myname
myname=hdd
echo $myname
写进一个脚本里面,则最终显示的是hdd
变量的设置规则
(1)等号=两边不能直接接空字符
(2)变量名称只能是英文字母和数字,且数字不能作为开头
(3)变量内容若是有空字符可以用双引号或者单引号结合
(4)加入变量新增变量内容,参考 PATH=’’$PATH’’:/home/bin
(5)取消变量的方法为 unset 加变量名
特别注意:单引号与双引号有区别,双引号仍然可以保持保有变量的内容,单引号内仅是一般字符
环境变量的功能
env和export展示环境变量
主要涉及到的变量有
HOME:主文件夹,用户登陆cd之后展示的目录
SHELL:告诉当前用户使用哪个脚本,
HISTSIZE:历史命令,记录的条数由它设置
MAIL:收发邮件
PATH:执行文件查找的路径
用set查看所有的变量(包含环境变量与自定义变量)
涉及到父进程与子进程,子进程可以继承环境变量,但不能继承自定义变量,要想继承自定义变量,需要转变,用export 加变量名称
语系变量locale -a查看
变量键盘读取数组与声明:read,array,declare
read 是读取键盘的输入,比如
read -p “pleae enter your name:” -t 30 其中-p是可以接提示操作符,-t是接可以等待的秒数<