9# 脚本编写的一些笔记 (WIP)

 

# 脚本相关

## Shell

### sh 和 bash 的区别

长得很像的两个脚本语言, bash 更年轻更先进.

### 如何使用 shell 实现一个爬虫, 你描述下整个过程, 会用到哪些命令?

分析要爬取的内容规律或者限制 (例如有没有 UA 和用户权限) ...

- 用到的工具: curl, wget, awk, sed, seq, grep, jq, iconv, sort, tac, wc

### shell 中 `[[]] [] (()) ()` 他们区别是?

- `[[]]` 是字符串表达式, `[]``test` 命令, `(())` 是数学比较表达式, `()` 为命令组 / 命令替换.

### shell `function` 如何返回字符串

### shell `$# $\*` 是什么意思

### shell 的 $

脚本调用参数标识符

- $0 Shell 本身的文件名

- $1~$n 添加到 Shell 的各参数值. $1 是第 1 参数, $2 是第 2 参数, $n 是第 n 个.

- $$ Shell本身的PID (ProcessID)

- $! Shell 最后运行的后台 Process 的 PID

- $? 最后运行的命令的结束代码 (返回值)

- $- 使用 Set 命令设定的 Flag 一览

- $* 所有参数列表. 若 "$\*" 用 _"_ 括起来的情况, 以"$1 $2 ... $n"的形式输出所有数.

- $@ 所有参数列表. 若 "$@" 用 _"_ 括起来的情况, 以"$1" "$2" ... "$n" 的形式输出所有参数.

- $# 添加到 Shell 的参数个数


评论

此博客中的热门博文

17# Apache Spark 的学习笔记 (WIP)

20# Apache Kafka 的学习笔记

1# 失败的赛博空间匿名技术的思考