[Linux]Shell快速学习小总结[TBD]
2013-08-01 11:05
323 查看
Shell版本
sh:Bourne Shell,最初UNIX的shell。
csh:C shell。
ksh:Korn shell。
bash:Bourne Again Shell。 Linux默认shell。
tcsh:C shell的扩展。
pdksh:ksh不免费,这个免费。
echo -n "Date and time is:" -n不换行。
echo "your name is: `whoami` " ``会将其中的字符串解释成命令。
shell脚本执行方式
bash< xxx.sh:从xxx.sh中读取命令行并执行。
bash xxx.sh:可带参数。
chmod a+x xxx.sh:使xxx.sh对所有用户有“执行”权限。输入脚本名可以直接执行。
特殊字符
双引号:除$美元, `倒引号, \反斜杠之外,其余都视作普通字符。
单引号:单引号内部的字符都视作普通字符。
倒引号:左上角Esc下面的键,内部字符串被解释为命令。shell先执行,并以其结果代替整个倒引号部分。
反斜杠:把特殊字符变成普通字符,阻止shell把其后面的字符解释为特殊字符。
I/O重定向
输入:<作用是把命令的stdin重定向到指定文件,从文件中读取内容作为输入。
输出:>作用是把命令的stdout重定向到文件,执行的结果写入到文件中。执行多个命令到同一文件,前面命令会被覆盖。
输出附加:>>,附加到文件后面,不会破坏原文件内容。
即时文件:<<, 由"<<",一对标记符及其间的若干输入符组成。允许把shell程序的输入行定向到一个命令中。?????
注释:#开始表示注释。#!后面表示shell的绝对路径。#! /bin/csh #! /bin/bash
管道线:以|隔开的若干命令。每个命令都有独立进程,前一个命令输出作为下一个的输入。
命令执行操作符
顺序执行:可以执行一条命令,也可以执行多条,以“;”分开,前面执行失败不影响后面继续执行。
逻辑与: 命令1&&命令2,命令1成功,继续命令2。否则不继续。执行成功返回0,否则非0。
逻辑或: 命令1 || 命令2,执行1,不成功执行2;否则,1成功,则不执行2。
变量
变量名区分大小写。赋给变量的值如果有空格,制表符或换行,用双引号。同一变量,可以一次存放int,另一次存放string。
通过美元符号访问,如yourname=$myname;
内部变量
$#(传给程序的参数个数,不包括本身)
$?(最后一条命令完成的执行结果)
$0*(自己的名字)
$*(传给程序的所有参数的字符串,不包括本身)
环境变量
HOME:/home/username
LOGNAME:用户的注册名,由Linux自动设置。它是系统与用户交互的名字。
MAIL:用户系统邮箱路径,/var/spool/mail/username
PATH:shell从中查找命令的目录列表。
PS1:定义了用户的主提示符是如何构成的。如\u@\h:\w#对应比如wgsupport@Firebox:~#。[\u@\h \W]\$对应[ryo@t430-lap Documents]$。
PWD:用户当前工作目录的路径。
SHELL:用户当前使用的shell,也指出了用户shell解释程序放在什么地方。
TERM:用户终端类型。
位置参数
shell脚本被别人调用时可以传入参数,第一个$1,第二个$2直到$9。
用set可以设置或重置参数。
当参数大于9时,用shift左移参数。shift移动一个,shift 4移动4个。
sh:Bourne Shell,最初UNIX的shell。
csh:C shell。
ksh:Korn shell。
bash:Bourne Again Shell。 Linux默认shell。
tcsh:C shell的扩展。
pdksh:ksh不免费,这个免费。
echo -n "Date and time is:" -n不换行。
echo "your name is: `whoami` " ``会将其中的字符串解释成命令。
shell脚本执行方式
bash< xxx.sh:从xxx.sh中读取命令行并执行。
bash xxx.sh:可带参数。
chmod a+x xxx.sh:使xxx.sh对所有用户有“执行”权限。输入脚本名可以直接执行。
特殊字符
双引号:除$美元, `倒引号, \反斜杠之外,其余都视作普通字符。
单引号:单引号内部的字符都视作普通字符。
倒引号:左上角Esc下面的键,内部字符串被解释为命令。shell先执行,并以其结果代替整个倒引号部分。
反斜杠:把特殊字符变成普通字符,阻止shell把其后面的字符解释为特殊字符。
I/O重定向
输入:<作用是把命令的stdin重定向到指定文件,从文件中读取内容作为输入。
输出:>作用是把命令的stdout重定向到文件,执行的结果写入到文件中。执行多个命令到同一文件,前面命令会被覆盖。
输出附加:>>,附加到文件后面,不会破坏原文件内容。
即时文件:<<, 由"<<",一对标记符及其间的若干输入符组成。允许把shell程序的输入行定向到一个命令中。?????
注释:#开始表示注释。#!后面表示shell的绝对路径。#! /bin/csh #! /bin/bash
管道线:以|隔开的若干命令。每个命令都有独立进程,前一个命令输出作为下一个的输入。
命令执行操作符
顺序执行:可以执行一条命令,也可以执行多条,以“;”分开,前面执行失败不影响后面继续执行。
逻辑与: 命令1&&命令2,命令1成功,继续命令2。否则不继续。执行成功返回0,否则非0。
逻辑或: 命令1 || 命令2,执行1,不成功执行2;否则,1成功,则不执行2。
变量
变量名区分大小写。赋给变量的值如果有空格,制表符或换行,用双引号。同一变量,可以一次存放int,另一次存放string。
通过美元符号访问,如yourname=$myname;
内部变量
$#(传给程序的参数个数,不包括本身)
$?(最后一条命令完成的执行结果)
$0*(自己的名字)
$*(传给程序的所有参数的字符串,不包括本身)
环境变量
HOME:/home/username
LOGNAME:用户的注册名,由Linux自动设置。它是系统与用户交互的名字。
MAIL:用户系统邮箱路径,/var/spool/mail/username
PATH:shell从中查找命令的目录列表。
PS1:定义了用户的主提示符是如何构成的。如\u@\h:\w#对应比如wgsupport@Firebox:~#。[\u@\h \W]\$对应[ryo@t430-lap Documents]$。
PWD:用户当前工作目录的路径。
SHELL:用户当前使用的shell,也指出了用户shell解释程序放在什么地方。
TERM:用户终端类型。
位置参数
shell脚本被别人调用时可以传入参数,第一个$1,第二个$2直到$9。
用set可以设置或重置参数。
当参数大于9时,用shift左移参数。shift移动一个,shift 4移动4个。
相关文章推荐
- Linux学习总结(三)——Shell常见命令解析
- 【Linux】Shell脚本学习总结篇
- shell学习五十七天----linux任务管理,针对上一讲的总结和扩展
- Shell学习第一章:linux快速介绍
- 记 Linux 学习知识总结 -- 寒江老师视频(七) - SHELL 讲解
- Linux-Shell脚本编程-学习-7-总结前面开启后面的学习
- linux_shell学习总结(2)...
- Linux学习总结(十七)-shell 基础知识
- linux 及shell 学习总结
- shell学习五十七天----linux任务管理,针对上一讲的总结和扩展
- Linux学习总结(15)——提高 Vim 和 Shell 效率的 9 个建议
- Linux学习总结(15)——提高 Vim 和 Shell 效率的 9 个建议
- Linux基础知识之————shell学习总结之变量引用
- 快速学会linux的man学习shell命令
- linux学习—shell脚本知识点总结
- Linux内核学习总结
- 常用linux命令---自我学习linux后总结
- 【linux gcc】gcc编译器相关(7月6日学习总结)_学习笔记_003
- Linux 学习点滴总结(补充)
- LINUX信息安全系统设计基础第二周学习总结