思维导图学 Linux Shell攻略之小试牛刀篇

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dba10g.blog.51cto.com/764602/1607563

曾听一位大神讲过,带着目的去学,知识往往能记得牢,记得稳。借助思维导图这个工具,对一些我感兴趣的知识点进行分类管理。以后方便自己复习。

我会以思维导图+代码段的方式,回滚学习linux shell编程。

转义/色彩

与用户交互的接口


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

#打印一个普通的字符串

[root@beijing ~]# echo "it's isa dog"

it's is a dog

  

#打印一个带有单引号和换行符的字符串,单引号可正常输出,但换行符没有效果

#没有达到想要的效果

[root@beijing ~]# echo "it's isa dog\n this is new line"

it's is a dog\n this is new line

  

# -e 开启转义功能

[root@beijing ~]# echo -e "it'sis a dog\nthis is new line"

it's is a dog

this is new line

-e     enable interpretation of backslash escapes

  

[root@beijing ~]# echo it is a dog

it is a dog

  

#红字

[root@beijing ~]# echo -e "\e [1;31mthisis a color\e[0m"

this is a color

[root@beijing ~]# echo -e"\033[1;31mthis is a red color\033[0m"

this is a red  color

#绿底

[root@beijing ~]# echo -e"\e[1;42mthis is a red color\e[0m"

this is a red  color

  

#红字绿底

[root@beijing ~]# echo -e"\e[1;31;42mthis is a red color\e[0m"

this is a red  color

  

#有效数字

echo "scale=3;3/8"|bc

echo $bc

计算

这是编程语言的功能之一了


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

va=1;

vb=2;

#echo $($va+$vb);error

#echo $(va+vb); error

echo [$va+$vb] #output :[1+2]

  

echo $[va+vb]  #ok

echo $(($va+$vb)) #//ok

  

let result=$va+vb #ok

echo $result

result=`expr 3 + 1` #ok, 注意等号,两边不能有空格;result=`expr $va + 1` 也可以

echo $result

result=$(expr $va + 1) #ok, 注意等号,两边不能有空格,+号必须有空格,否则会当成字符串输出

echo $result

输出变量长度

内置功能(感兴趣而已)


1

2

3

4

5

[root@beijing test]# exportSTR="1234"

 [root@beijing test]# echo $STR

1234

[root@beijing test]# echo ${#STR}

4

函数

这是最基本的,不能语句罗列吧


1

2

3

4

5

6

7

#括号里不能有参数,获取参数通过$1,$2....获取

function sayHello(){

         echohello $1

}

#$@:参数列表

#$*:参数字符串

sayHello zgy;#这样调用

读取命令序列

可得一个命令的结果


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#!/bin/bash

  

 COMMANDS=ls|cat -n

 echo $COMMANDS #输出为空

  

 COMMANDS=$(ls|cat -n)

 #$COMMANDS #error

 echo $COMMANDS #输出期望结果

  

  

 echo `$COMMANDS` #error

 echo `ls|cat -n` #输出期望结果  反引用

  

###############################################

#子shell,在子shell操作,不影响主shell

echo `pwd`;

cd /bin

echo `pwd`;

  

# output#

# /root/test

# /bin

  

echo `pwd`;

(cd /bin)

echo `pwd`;

# output#

# /root/test

# /root/test

打印所用时间

评定一个算法的效率


1

2

3

4

5

6

7

8

9

10

start=$(date +%s) #start=`date +%s`,等号不能有空格,如果有空格,会被变量当成命令

for (( i = 0; i < 100000; i++ ));do

         echo$i >/dev/null

done

end=`date +%s`

  

diff=$(($end-$start))

echo "use times(ms):"$diff

  

echo "use times(ms):"$(($end-$start))

常用的测试

判断权限等,shell编程汇总功能常用


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#[[]] 必须有空格

#是否是文件,文件是否存在

[root@beijing test]# [[ -f 1.txt ]]&& echo "1.txt is file" || echo  "1.txt is notfile"

1.txt is file

#是否是可执行文件

[root@beijing test]# [[ -x 1.txt ]]&& echo "1.txt can be execute" ||  echo  "1.txt can be execute"

1.txt can be execute

[root@beijing test]# [[ -x 1.txt ]]&& echo "1.txt can be execute" ||  echo  "1.txt can't be execute"

1.txt can't be execute

 [root@beijing test]# chmod  +x 1.txt

[root@beijing test]# [[ -x 1.txt ]]&& echo "1.txt can be execute" ||  echo  "1.txt can't be execute"

1.txt can be  execute

[root@beijing test]#

#是否是目录

[root@beijing test]# [[ -d 1.txt ]]&& echo "1.txt is dir" || echo  "1.txt is't dir"

1.txt is't dir

[root@beijing test]# [[ -d /bin ]]&& echo "1.txt is dir" || echo  "1.txt is't dir"

1.txt is dir

#判断是空串吗?

[root@beijing test]# [[ -z"1" ]] && echo "is null" ||  echo "is not null"

is not null

[root@beijing test]# [[ -z"" ]] && echo "is null" ||  echo "is not null"

is null

-z 与-n功能相反

小计

看书本,很简单的代码,也就是一看就懂的代码。其实真正自己写出来,在运行起来得到结果,也不容易。 眼高手低要不得。

我就在写程序是经常遇到一些这样情况。有时候要求有空格(比如条件判断时)。有时候不能有空格(变量赋值时)。有时候,单引号有时候又 反引号。哎要注意啊这些小细节,总结经验。

小小代码也不简单。

如果广大读者,也可以看着我的脑图,一步步写一下脚本,也会有所收获。

算个开篇吧。断断续续,随着学习深入,例子也会逐渐深入。希望自己的shell水平,能有所突破。

本文出自 “简单” 博客,请务必保留此出处http://dba10g.blog.51cto.com/764602/1607563

时间: 2024-10-27 16:16:40

思维导图学 Linux Shell攻略之小试牛刀篇的相关文章

思维导图学 Linux Shell攻略之干货篇 mysql数据库脚本管理系统

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1610653 以结果为导向的学习,才是最有效率学习.笔者以前也曾经隔三差五的学习linux shell编程来着.给我的感觉就是,今天学了,后天忘了,一星期之后就白学了. 还好,最近自己平时没啥事,一直照着<linux shell攻略>,学做一些小例子,看着自己写的shell程序,简单的几行程序,实现一些好玩的效果,信心

Spring思维导图,让Spring不再难懂(mvc篇)

写在前面 温故而知新,今天一起来复习一下spring mvc的内容吧. spring mvc简介与运行原理 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射.视图渲染.本地化.时区与主题渲染等,甚至还能支持文件上传. (1) Http请求:客户端请求提交到DispatcherServlet. (2) 寻找处理器:由DispatcherServlet控制器查询一个或多个Handl

&lt;linux shell 攻略&gt; 庖丁解牛 mysql数据库脚本管理系统

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dba10g.blog.51cto.com/764602/1610703 操作界面 这个小系统一共包含4个脚本 sh 功能 备注 oneKey.sh 主程序,调用其他程序,对外提供功能 menu.sh 勾画菜单 function.sh 提供操作数据库接口 valid.sh 操作mysql数据库,验证数据 menu.sh  画字符菜单 1 2 3 4 5 6 7 8 9 10 11

《善用佳软:高效能人士的软件应用之道》一2.3 思维导图:思想脉络的逻辑结构

2.3 思维导图:思想脉络的逻辑结构 善用佳软:高效能人士的软件应用之道 2.3.1 XMind:超越FreeMind的思维导图软件1 1.概述 软件名称:Xmind. 软件主页:http://www.xmind.net. XMind是一款顶级商业品质的思维导图(mindmap)和头脑风暴(brainstorm)软件,2008年"最佳Eclipse RCP商业应用"获奖产品.从2008年10月起,XMind推出开源版本,并荣获SourceForge社区2009最佳学术应用奖.它采用Ja

思维导图软件哪个好用

思维导图是一种革命性的思维工具,对于头脑风暴.项目规划或者将想法变为实际的步骤都是极佳的方式,更让人欣慰的是,现今多种多样的工具可以帮助大家构架思维导图.组织导图元素并保存下来便于后期使用.下面是Lifehacker网站根据网友投票选出的排名前5位最好的思维导图软件. 背景:此前在Lifehack网站发起了一轮投票,让网友选出他们认为最好的思维导图软件工具,根据统计得出结果,并将前五名展示如下: 1.Mindjet MindManager (Windows/Mac/iOS) Mindjet 不仅

思维导图哪个最好用?最好的思维导图软件推荐

  思维导图可以让人清晰的了解内容大纲,如何自己制作的话一款好的思维导图软件非常重要,思维导图哪个最好用?本文为大家带来最好的思维导图软件推荐. 思维导图哪个最好用?最好的思维导图软件推荐 思维导图是一种革命性的思维工具,对于头脑风暴.项目规划或者将想法变为实际的步骤都是极佳的方式,更让人欣慰的是,现今多种多样的工具可以帮助大家构架思维导图.组织导图元素并保存下来便于后期使用.下面是Lifehacker网站根据网友投票选出的排名前5位最好的思维导图软件. 背景:此前在Lifehack网站发起了一

12个思维导图工具,像数据科学家一样结构化地思考

◆ ◆ ◆ 引言 每个人都能进行全方位的思考,但是,用结构化的方式思考与酝酿使得数据科学家与众不同.在本文中,我们列出了一些对数据科学家来说是很棒的思维导图工具.这些工具提供了用创造性方式产生想法的很好的方法. 让我们从一个数据科学家经常面对的简单小练习开始: 你已经被指定为我们表现最差的店铺的店长,你会在店里做哪些可能的改变? 花几分钟时间仔细想一想.一旦你写下至少几个因素,我们就可以继续下去了. 那么,这个小练习怎么样?容易还是困难?你有多确定你在这个思维捕捉的过程中写下了所有可能的因素?

C++程序设计教材目录思维导图(增C++Primer)

正在做C++思维导图,大工程,比较艰苦. 先做了三个C++教材目录的思维导图.C++教材不等于C++,这个容易些.看思维导图,整理所学知识,这个可以会. 给出三张图,对应三种教材: 谭浩强. C++程序设计.清华大学出版社 C++ PRIMER 第四版 特别版 C++ PRIMER(低版本) 制作工具:XMind 制作方法:下载教材目录,copy到wps,按层次缩进,用tab缩(其实我是用表格和文字间的转换做的).Ctrl-A全选,Ctrl-C复制,然后打开XMind,建立一个仅有中心主题的空图

如何建立正确的SEO思维导图更好的运营好网站

现在很多中小型企业都开始做了网站了,但是我们发现很多时候一些站点都是一个人在运营,在这样的情况下.我们如何去建立一种正确的SEO思维去运营站点那.针对团队去运营一个网站我们又该怎么去做好一个SEO思维,来做好规划去运营好一个网站那. 那么我今天从两个方面去入手给大家说说这个方面,一个是在做一个新站点我们该怎么去做好一个SEO思维的导图,有一个清晰的思路来做一个网站.二者就是我们如何去布局好我们要做的工作,规划好SEO的流程.让我们网站不断的增长运营. 一.新站该怎么建立SEO思维导图   (1)