[Linux]Shell快速学习小总结[TBD]

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个。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值