# windows
- 删除文件夹 rd /S /Q <文件夹>
# Shell
# 脚本暂停
read -p "Press any key to continue." var
# Shell传递参数
- 脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推,其中 $0 为执行的文件名
deploy.sh first
// deploy.sh
$1=first
# if else
- if else写法
#!/bin/sh
a=10
b=20
if [ $a == $b ] # if与[ ]有空格,"[" 、 "]"与字符都有空格
then echo "a is equal to b"
else echo "a is not equal to b"
fi
- if … elif … fi 语句可以对多个条件进行判断
#!/bin/sh
a=10
b=20
if [ $a == $b ];then
echo "a is equal to b"
elif [ $a -gt $b ];then
echo "a is greater than b"
elif [ $a -lt $b ];then
echo "a is less than b"
else
echo "None of the condition met"
fi
常用判断: -e 文件是否存在
-f 文件是否是普通文件(不是目录、设备文件、链接文件)
-s 表示文件大小不为0
-d 表示文件是否是目录
-b 表示是块设备(光驱、软盘等)
-c 表示是字符设备(键盘、声卡等)
-p 表示是管道
-h 表示是符号链接
-S 表示是否是socket -n 如果判断的string长度不为0则为真 -r、-w、-x表示文件是否有可读、可写、可执行权限(指运行这个测试命令的用户)
f1 -nt f2 f1是否比f2新(new than)
f1 -ot f2 f1是否比f2旧(old than)
f1 -ef f2 f1和f2是否是相同文件的硬链接
# 查询占用指定端口进程的PID
# window
打开cmd命令行,输入netstat -ano|findstr 8080(指定端口号)
最后一列即为占用该端口的进程的PID
# mac
lsof -i:3000
# KILL指定PID的进程
紧接着在命令行输入taskkill /pid 21172(PID参数) -f
# 脚本退出
exit 1
,可以是0~255的数字
0----------------命令运行成功
1----------------通知未知错误
2----------------误用shell命令
126-------------命令不可执行
127-------------没有找到命令
128-------------无效退出参数
128+x-----------linux信号x的严重错误
130--------------命令通过Ctrl+C终止
255--------------退出状态码越界
# 查看文件夹列表
ls
,参数:
-a
,查看包括隐藏文件夹