SHELL 脚本 语法
shell脚本一些很基础的操作和使用
1. 环境声明
#!/bin/bash
直接写在第一行,声明环境,(明确编译器?说法不太准确。
2. 变量的传递
2.1 脚本内部的变量设置
- 定义
frames=8
直接写,注意=
左右不要留空格
- 调用
运算符$
frames=8
python train.py $frames
2.2 传入脚本的变量
脚本内的执行过程需要由传入脚本的变量决定
由运算符$
引用
举例: 调用go.sh
时,通过命令行sh go.sh 8
传入参数。go.sh
文件内容可以为以下形式:
# go.sh
python train.py $1
为了便于理解,也可以显式地把输入值赋给一个变量,那么可以写成以下形式:
# go.sh
frames=$1
python train.py $frames
- 传入参数设置默认值
如果某个参数不传入,就使用默认值
v=${1:-‘默认值字符串’}
3. if语句
基本语法:
if condition
then
statement1
else
statement2
fi
例子:
if $frames > 8
then
python train.py
else
python train2.py
fi
4. 并行调用
python train.py &
python train2.py &
wait
用&
标识并行的命令;每个&
前的执行语句都分配一个线程,各个语句并行处理。
wait
表示要等待上述所有并行操作完成后,才能继续执行下面的语句。
参考:https://www.5axxw.com/questions/content/zuxmfv
5. 方括号[]
圆括号()
和花括号的使用{}
参见博文: https://blog.youkuaiyun.com/TomAndersen/article/details/104214632
6. 一些好用的命令
echo ‘222’ #打印变量或字符串,(与terminal中的用法一致)
sleep 2 #暂停2秒,2为变量