Linux Shell 脚本------表达式
知道脚本的存在,也会偷懒写一点用,但是真的不熟,最近想偷懒用脚本+log的方式跑训练程序,所以边查边写,凑合着写了一个能用的。
1、基本使用
新建一个文件(run.sh),写上
#!/bin/bash
th main.lua
第一行一定要有,不然不能运行。
修改权限: chmod +x run.sh
对于我的配色来说,run.sh 就变绿了,变绿就能运行了。
2、表达式
1 #!/bin/bash 2 epoch=40 3 for((i = 1; i < 100; i ++)) 4 do 5 model_name="model_"${epoch}".t7" 6 th clear.lua -model $model_name 7 epoch=$(($epoch + 3 * $i)) 8 th main.lua -resume ./ -nEpochs $epoch 9 done
line 2: 变量赋值的时候,变量名和等号之间不可以有空格,不然按照 bash 是语法赋值失败
line 3: 在双小括号里可以加空格,因为双小括号里表示是运算
line 5: 字符串拼接方法,变量引用需要加 $ 符合,字符串拼接需要 { }
line 6 和 line 8: 是 torch7 的执行命令,后面是参数
line 7: (()) 内是表达式,表达式里运算符和变量之间一定要加好空格, 3 空格 * $i。 计算完成得到的是数值,赋值给变量的时候使用 $, 表示变量空间的赋值。
3、布尔类型
引用内部变量:
$ture
$false