Posts Shell Skill
Post
Cancel

Shell Skill

Shell skill 日常 编写shell脚本积累的一些,方式和技巧收录。 以备平时快速开发使用


Shell

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。

#!/bin/sh | #!/bin/bash

Set命令

set -e # Exit the script if an error happens Linux set命令

Shell Help

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 脚本帮助信息
help() {
cat <<EOF

Desc: 

Tip: 
Usage: sh <ScriptName>.sh <param>  [options]
option:
--param <param>

Example:
sh <ScriptName>.sh <param>  [options]

Parameter:

Author: Mrlu

License: null

EOF
exit 0
}

shell param 截取

1
2
3
4
5
6
7
8
9
10
11
#这里通过判断$1是否存在判别,也可以通过$#判别
while [[ -n "$1" ]]; do
#statements
case $1 in
-help|--help|-h)
help; break;; # function help is called
-*)
echo "error: no such option $1."; exit 1;;
*) break;;
esac
done

test "${str:a:b}" 表示提取字bai符du串a开始的zhib个字符 shift 1; 位置参数可以用shift命令左移, 比如shift 3表示原来的$4现在变成$1

1
2
3
4
5
6
7
8
9
10
11
while test "${2:0:1}"; do
case $2 in
--version )
version=$3
shift; shift;;
echo "param is unavailable"
exit 1;;
* )
shift;;
esac
done

Test 命令

Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 runoob

Shell Date

1
today=`date '+%Y-%m-%d.%H-%M-%S'`

For in

1
2
3
4
for url in ${urls[@]}
do
echo "${url}"
done

Shell 脚本封装可执行程序

1
brew install shc

shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-o outfile] [-rvDSUHCABh] -f script

Shell Learning

[Shell 教程菜鸟教程](https://www.runoob.com/linux/linux-shell.html)
This post is licensed under CC BY 4.0 by the author.
Trending Tags
Contents

-

-

Trending Tags