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 的参数个数
评论
发表评论