写sh脚本文件的小tips

lz是新手,本文主要记录个人在写脚本文件过程中遇到的问题和需要注意的事项,会持续更新,和大家共同学习~

1. 循环

参考链接——for/while/until循环的简介
https://blog.csdn.net/taiyang1987912/article/details/38929069

2. 字符串拼接

参考链接——各种拼接方式介绍比较全面
http://c.biancheng.net/view/1114.html
注意事项:
(1)shell中字符串拼接不能嵌套,命名不能加空格,如下的两种写法都是错的

outVideoName = ${VideoName}_out.mp4
inputPath=/home/ly/dataset/wild/${VideoName}/${ outVideoName}

正确写法是:

outVideoName=${VideoName}_out.mp4
inputPath=/home/ly/dataset/wild/${VideoName}/${VideoName}_out.mp4

(2)变量的书写方式
如果只是在命令中使用变量$VideoName即可,但是如果在字符串拼接的过程中,尤其是变量名和字符串拼接时,变量名一定要用花括号括起来${VideoName}

3. sh文件的运行

sh脚本文件有四种运行方式,总体的介绍可以参考链接,本文仅对四种方式做简要总结。
参考链接:https://blog.csdn.net/u012336923/article/details/50474692/
(1) sh test.sh ——使用sh这种shell执行
(2) bash test.sh ——使用/bin/bash这种shell执行
(3) ./test.sh ——使用bin/bash执行,但是使用前需要为文件添加执行的权限
$ chmod +x test.sh
(4) $ source test.sh ——在父进程中执行,tesh.sh中的操作会在原本的shell内生效,所以想在不注销系统的情况下让写入~/.bashrc的设置生效需要使用source ~/.bashrc,而不是bash ~/.bashrc
【备注】前三种方法是在一个新的shell环境中执行脚本的命令,也即使用这3种方式,script是在子进程的shell内执行,子进程完成后,子进程内的各项变量和操作都会结束而不会传回到父进程中。此外,这三种方法需要的shell环境有一定区别,某一个不行可以换一个试试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值