新手Shell笔记

pic alt

本文的内容?

  • 解决一个日常的问题.— 关于hexo和gitbook在github上面的自动部署
  • 通过这个例子,我们可以看出shell可以帮助我们解决什么样子问题
  • shell基本语法
  • 常用的shell命令
  • 扩展链接

当然,由于本人见识浅薄,可能并不能够讲解的非常好,权当是抛砖引玉了

解决一个日常的问题.— 关于hexo和gitbook在github上面的自动部署

这段时间迁移到Linux下面,只是因为学习需求,毕竟Django这个框架在Linux下面开发会方便不少.
PS:话说Linux下面的输入法实在是太弱了.
好了,我们的脚本使用的场景是这个样子的.

  • 1.运行命令myjob
  • 2.根据选项进行选择编写Blog或者是部署Blog(当然,hexoblog+gitblog)

那么,我们的编写任务就出来,

  1. 编写脚本(一个是菜单进行选择,另一个是脚本用于执行具体人物)可是实现上面的需求.
  2. 把脚本做成命令

那么,菜单脚本如下:

1
2


执行任务的脚本如下:

1
2


通过这个例子,我们可以看出shell可以帮助我们解决什么样子问题

shell脚本基本语法

注意,这里是如何组合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
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/zsh
# 注释,放在文件开头,表明是由zsh执行

echo “这里是文本”

ooxx = “我变量君”

echo
这里
看这里
这样子可以有多行文本
还可以有变量 $ooxx


declare -r TITLE="Page Title"

# 下面是变量赋值PS:我认为shell的语法真的是比较烂的.不信你看看下面
a=z
# string z 赋值给 变量a

# 但是如果string 里面有空格或者变量,那就需要用括号
a = “zz zz zzz $a
# 或者命令的执行结果可以包装成一个(变量?匿名变量?)
d = $(ls -l)

#还有一些系统常量,一般用大写来写.

#函数,使用 $(name) 来引用
function name{
commands
return
}
# 但是推荐这种写法
name(){
commands
return
}

# if
if commands; then
commands
[elif commands; then
commands...]
[else
commands]
fi

常用的shell命令

扩展链接

我们今天就直接编写一个小脚本用于自动化处理日常任务的小Shell

关于本人,
点击链接就可以以web幻灯片的方式看到我的介绍。

我的Github地址: https://github.com/twocucao (尽管东西不多,但是欢迎来Star和Fork,就算你们来这里提前Star Folk了)
简书地址: http://www.jianshu.com/users/9a7e0b9da317/latest_articles (不常更新,而且几乎没有技术文章的讲解)
联系方式: twocucao@gmail.com
本人才疏学浅,是一个水平比较菜的程序员,如果行文之间发现任何错误,欢迎指正,特别欢迎技术上的指正。