`
小滔哥
  • 浏览: 58970 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

常用的一些shell笔记

阅读更多

 

一、 语法方面注意 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笔记涵盖了多个重要的Shell编程和命令行操作知识点。以下是对这些知识点的详细解释: 1. `echo` 和 `printf -e` 命令:`echo` 用于打印字符串,而`printf`更灵活,支持转义序列如`\n`(换行),`-n`选项则用于...

    linux shell 笔记 (未整理)

    Linux Shell笔记(未整理) Shell,作为Linux操作系统中的命令行解释器,是用户与系统交互的重要接口。它接收用户输入的指令,将其转化为系统可执行的命令,同时也提供了编写脚本的能力,使得复杂的任务自动化变得...

    Linux教程+ shell学习笔记 + Shell脚本常用命令+shell脚本100例资源合集

    本文整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用...

    Shell学习笔记

    本文档《Shell学习笔记》详细介绍了Shell脚本编写的基础知识和一些高级技巧,包含了多个主题,例如终端操作、环境变量使用、数学运算、文件描述符、数组和关联数组、别名使用、终端信息获取、日期和时间处理、脚本...

    shell学习笔记(常用shell命令介绍和用例)

    ### Shell学习笔记(常用Shell命令介绍与用例) #### 一、引言 Shell作为Linux和Unix操作系统的重要组成部分,提供了一种与系统交互的方式。本文档旨在为初学者和有一定经验的用户提供一份全面的Shell命令学习笔记...

    shell script编程学习笔记

    - **常用Shell**: - **sh**: 即 Bourneshell,POSIX(Portable Operating System Interface)标准的Shell解释器,它的二进制文件路径通常是 `/bin/sh`,由Bell Labs开发。 - **bash**: bash是Bourneshell的替代品...

    unix shell编程第三版笔记

    "Unix Shell编程第三版笔记"是铁道出版社出版的一本教材,它深入浅出地讲解了Unix Shell编程的基础和高级技巧。这份笔记涵盖了从基本的命令行操作到复杂的脚本编写,帮助学习者掌握这一强大的自动化工具。 Unix ...

    细说linux-shell笔记

    这份“细说Linux—Shell笔记”显然是一个关于Linux Shell的详细教程,包括了对各种Shell命令的分章节讲解。 在学习Linux Shell时,首先要理解Shell的种类,常见的有Bash(Bourne Again SHell)、Sh、Csh、Ksh等。...

    16日-23日的shell 笔记.rar

    "16日-23日的shell笔记"涵盖了从基础到进阶的多个shell知识点,让我们逐一深入探讨。 首先,让我们了解什么是Shell。Shell是操作系统提供的一种命令解释器,它作为用户与系统内核交互的接口。常见的Shell有Bash...

    Linux Shell编程笔记

    该笔记包含了Shell脚本的基础知识、常用命令和技巧,以及实际的编程示例和案例。无论您是初学者还是有一定经验的用户,这份笔记都能帮助您加强Shell编程技能并提高工作效率。特点:- 提供了基础知识,包括变量、流程...

    efi shell常用工具

    4. **脚本和批处理文件**:一些预先编写好的Shell脚本,可以自动执行一系列命令,提高工作效率。 5. **文档**:可能包含关于如何使用这些工具的说明或参考指南,这对于初学者尤其有用。 使用EFI Shell工具包时,...

    linux shell语言基础笔记 xmind

    在Linux中,最常用的Shell包括Bash(Bourne-Again SHell),这是大多数Linux发行版的默认Shell。Shell脚本本质上是一系列的命令,这些命令可以按照特定顺序执行,从而实现自动化任务。下面是一些核心概念: 1. **...

    shell笔记速查

    以下是一些关于Shell脚本的基础知识和常用命令速查: 1. **统计命令**: - `wc -l` 统计行数,例如`who | wc -l`可以计算当前登录用户数量。 - `wc -w` 统计单词数,`wc -c` 统计字符数。 2. **文件操作**: - ...

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    常见的shell有Bash(Bourne Again SHell)、Csh、Zsh等,其中Bash是最常用的一种,也是我们这里主要讨论的。 Shell编程就是利用shell的命令行界面编写脚本,实现自动化任务执行。它结合了基本的命令和控制结构,如...

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

    《LINUX与UNIX SHELL编程指南》读书笔记

    在深入探讨《LINUX与UNIX SHELL编程指南》的读书笔记之前,让我们先理解一下Linux、Unix和Shell编程的基本概念。Linux是一种自由和开放源代码的类UNIX操作系统,而Unix则是其灵感来源,两者都广泛应用于服务器和工作...

    bash_shell笔记_1_脚本基础知识

    ### bash_shell笔记_1_脚本基础知识 #### 一、Shell基本概念与使用 Shell是Linux操作系统中的一个重要组成部分,它充当用户与系统内核之间的接口。通过Shell,用户可以执行命令、运行程序以及进行各种系统管理操作...

Global site tag (gtag.js) - Google Analytics