# windows

  1. 删除文件夹 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,查看包括隐藏文件夹