shell基础
shell是命令语言、命令解释程序及程序设计语言的统称。
1.Bash脚本以“#!”开头(文件的首行),而“#!”后面同时要将所使用的shell的路径明确指出。
#! /bin/sh
#! 解释器地址 选项
下面陷进需要注意:
1)系统对第一行#!长度有限制,从63到1024个字符不等,因此尽量不要超过64个字符。
2)别在选项之后放置任何空白,因为空白也会跟着选项一起传递给被引用程序。
3)知道解释器的完整路径,可以用来规避一些问题。
下面的写法可以避免某种程度的欺骗式攻击(spoofing Attack).即添加选项符-,但不添加选项内容。
#! /bin/sh -
2.程序的注释符为“#”。
3.shell脚本的执行
1)设置权限后再执行脚本;
chmod +x scriptname
./scriptname
2)使用bash的内部指令“source”;
3)直接使用sh命令来执行。
sh/source myscript
4.环境变量的配置文件
1)/etc/profile是系统启动过程中执行的一个脚本,对所有用户生效。
2)~/.bash_profile是用户的脚本,在用户登录时生效。
3)~/.bashrc用户脚本在~/.bash_profile中调用生效。
5.shell环境变量
PATH:决定shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录的完全路径名
HISTSIZE:历史记录数
LOGNAME:当前用户的登录名
SHELL:shell路径名
LANGUAGE:语言相关的环境变量
MAIL:当前用户的邮件存放目录
PSI:主指示符,对于ROOT用户为#,普通用户为$
PSZ:辅助指示符,默认为“>”
TERM:终端的类型
PED:当前工作目录的绝对路径名。
SHLVL代表shell打开的深度,进程第一次打开shell时$SHLVL=1,然后在此shell中再打开一个shell时$SHLVL=2。父shell的变量可以export到子shell,但子shell的变量export不影响父shell,但影响子shell的子shell。参考:How And Why You Would Use The $SHLVL Variable
6. 脚本路径后增加脚本
如果执行命令为 ./x.sh parameters,即为运行 /etc/rc.common x.sh parameters,这说明 /etc/rc.common用于解析x.sh命令行参数
Ctrl+a:把光标移到行首。
Ctrl+e:把光标移到行尾。
Ctrl+l:清除终端。该快捷操作与在命令行键入clear作用相同。
Ctrl+d:从Shell提示中注销并关闭,使用该快捷键就不必键入exit
Ctrl+u:删除光标至行首的所有字符,使用这一快捷操作可以清除从光标处到行首的字符
Ctrl+K:删除从光标到行末所有字符。
Ctrl+t:新建屏幕。
Alt+1到9:选择屏幕。