shell脚本使用和总结
hello world
- 新建
test1.sh
- 内容
echo Hello world!
如果需要的话,赋予可执行权限
chmod +x test1.sh
执行指令
可以在脚本中写入更多的命令,比如:启动app,编译、运行java文件,链接服务器等等;只要你能想到的,基本都可以。在此,我仅以一个简单的例子来说明:通过脚本编译运行一个java文件。
1 | cd /Users/daniel/Documents/tmp |
匹配规则${},##, %% , :- ,:+, ? 的使用(路径处理)
假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt
- 1.可以用${ }分别替换得到不同的值:
1 | ${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2/dir3/my.file.txt |
- 2.记忆的方法为:
1 | # 是 去掉左边(键盘上#在 $ 的左边) |
- 3.利用${ } 还可针对不同的变数状态赋值(沒设定、空值、非空值):
1 | ${file-my.file.txt} :假如$file 沒有设定,則使用my.file.txt 作传回值。(空值及非空值時不作处理) |
分割字符串
比如,要分割test="aaa,bbb,cc cc,dd dd"
,可以这样:
1 | # 1.分割 |
实例
取出照片,按照日期创建文件夹,并将文件放到指定文件夹中。
1 | for filePath in /Users/***/DCIM/*.jpg; do |
注意事项
- 等号
=
两边不能有空格:空格对于linux的shell是一种很典型的分隔符,所以给变量赋值的时候中间不能够有空格。