一、
语法方面注意
if /while /for
格式
1.
if
语句
注意
if
与
[]
之间的空格;条件表达式前后都有空格
实例
if [ $# -lt 3 ];then
echo usage: `basename $0` arg1 arg2 arg2
exit 1
fi
echo $1
echo $2
echo $3
2.
while
语句
注意
while
与
[]
空格;件表达式前后都有空格
实例
while [ $# -ne 0 ]
do
echo "arg: $1"
shift
done
3.
for
语句
实例
for i in `seq $#`
do
echo arg $i
done
二、
特殊变量
$0
这个执行文件的名字
$n
这个程序接受的第
n
个参数值
$*
这个程序的所有参数
“$1
$2 …$n”
S#
这个程序接受的参数个数
$$
这个程序的
pid
$!
运行在后台的最后一作业任务的
pid
$?
上一个执行命令的返回值
$@
接受的
所有参数
(
每个都作为独立的字符串
) “$1” “$2”…”$n”
三、输入
/
输出重定向
1.输出重定向
echo abc 1>a.txt
1
可以省略,默认标准输出重定向至
a.txt
ls a.txt b.txt c.txt (不存在) 1>exist.txt 2>err.txt
标准输出至
exist.txt,
错误输出重定向至
err.txt
“>”
换成
“>>”
,则会在文件结尾追加,而不是覆盖掉原来文件的内容。
ls a.txt b.txt c.txt 2>&-
ls a.txt b.txt c.txt 2>/dev/null
将错误信息关闭
ls a.txt b.txt c.txt 2>&1
将错误输出绑定至标准输出。
2.输入重定向
cat > b.txt <a.txt
输入来自文件
a.txt
cat b.txt <<eof
> a
> b
> eof
abc
当输入遇到
eof
字符串时,输入自动结束
四、常用命令
/
函数
1.test
test expression
或者
[
expression ]
;
expression
前后有空格
echo 1..
[ "a"="a" ]# 当str1与str2相同时,返回True
echo $?
[ "a"!="b" ]# 当str1与str2不同时,返回True
echo $?
[ "abc" ]# 当str不是空字符时,返回True
echo $?
[ -n "abc" ]# 当str的长度大于0时,返回True
echo $?
[ -z "" ]# 当str的长度是0时,返回True
echo $?
#
echo 2...
[ 1 -eq 1 ]# 当int1等于int2时,返回True
echo $?
[ 2 -ge 1 ]# 当int1大于/等于int2时,返回True
echo $?
[ 1 -le 2 ]# 当int1小于/等于int2时,返回True
echo $?
[ 2 -gt 1 ]# 当int1大于int2时,返回True
echo $?
[ 2 -ne 1 ]# 当int1不等于int2时,返回True
echo $?
#
echo 3...
[ -d a.txt ]# 当file是一个目录时,返回 True
echo $?
[ -f a.txt ]# 当file是一个普通文件时,返回 True
echo $?
[ -r a.txt ]# 当file是一个刻读文件时,返回 True
echo $?
[ -s a.txt ]# 当file文件长度大于0时,返回 True
echo $?
[ -w a.txt ]# 当file是一个可写文件时,返回 True
echo $?
[ -x a.txt ]# 当file是一个可执行文件时,返回 True
echo $?
echo 4...
![ !1 -eq 2 ] 当expr的值是False时,返回True
echo $?
[ 1 -lt 2 -a 2 -gt 1 ]# 当expr1,expr2值同为True时,返回True
echo $?
[ 1 -gt 2 -o 2 -gt 1 ]# 当expr1,expr2的值至少有一个为True时,返回True
echo $?
2.sed
一次处理一行内容
d
命令,删除
$ sed '2,$d' example-----删除example文件的第二行到末尾所有行。
$ sed '$d' example-----删除example文件的最后一行。
$ sed '/test/'d example-----删除example文件所有包含test的行
S
命令,字符串替换。
$ sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。
e
选项
,多点编辑
$ sed -e '1,5d' -e 's/test/check/' example-----(-e)选项允许在同一行里执行多条命令。如例子所示,第一条命令删除1至5行,第二条命令用check替换test。命令的执 行顺序对结果有影响。如果两个命令都是替换命令,那么第一个替换命令将影响第二个替换命令的结果。
3.awk
处理列比较方便。
awk '{print NR ":" $0}' example
;
NR
当前行号,
$0
当前行内容
使用
shell
变量
var="this is a test";awk 'BEGIN{print "'"$var"'"}'
export
变量
,
使用
ENVIRON["var"]
形式
,
wk 'BEGIN{print ENVIRON["var"]}'
使用
-v
选项
awk -vnvar="$var" '{print nvar}'
4.bc,
浮点数计算
echo "scale=5 ;ibase=10;obase=10; 5.0/4.0" | bc
1.25000
Scale
小数部分保留位数,默认
0
;
Ibase,obase
输入的进制模式,默认
10
进制。
分享到:
相关推荐
shell命令的学习笔记。 包含常用的shell命令说明和使用用例。 可快速入门,也可当手册使用。
本文整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用...
总结常用的linux命令,和shell编程,实际的例子说明讲解
efi常用的一些工具包. 需要在efi shell下面运行.
shell编程,笔记很是混乱,对大家没有什么用,但我要用的嘛。
Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令.pdf
本文档列出了shell常用指令,适合初学者
Linux笔记——vim常用操作及扩展补充[手册] Linux笔记——linux常用命令集合 Linux笔记——命令:awk Linux笔记——命令:sed Linux笔记——命令:grep Linux笔记——命令:find Linux笔记——命令:Sort,uniq,join,...
自己看完了linux入门到精通的笔记整理,还有一些linux大部分所有常用的命令笔记,可以值得看看!
自己整理的linux常用命令整理文档,有需要的可以下载借鉴。欢迎指正。
整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用Linux的...
shell学习笔记,学习总结,所有必学知识点,包括常用参数表格
Linux笔记 配合我的博客使用 为我的博客Linux常用命令文本版
shell脚本学习笔记–基础(1)简介脚本注释脚本解释器脚本执行脚本调试基本符号和命令含义 简介 学习Shell脚本之前,我们有必要先来认识认识什么叫Shell?谈到这个问题,我们首先来回忆一下计算机自底向上的体系,最...
mongo shell即相当于SQL语句在关系型数据库中的作用,MongoDB使用JavaScript作为shell操作命令,这里我们就来整理MongoDB的mongo shell常用操作方法及操作脚本笔记
记录一些Linux初级基础的笔记,有推荐的一些软件和一些常用的shell命令
Shell-脚本常用命令-文档
shell编程基础之变量 linux mooc笔记
RHCE课程-RH033Linux基础笔记一 10月25日课程 4、安装LINUX及常用命令介绍 RHCE课程-RH033Linux基础笔记二 10月26日课程 5、文件以及文件权限 RHCE课程-RH033Linux基础笔记三 10月26日部分课程;11月1日课程;11月2...