1. bash脚本相关问题
两个非常重要的参考与教程:
1.1. 技巧
1.1.1. terminal输出彩色文字
基本格式\033[3甲;4乙m文字的内容\033[0m
为,其中甲乙是一位数字,例如:
# 输出黑底绿字
echo -e "\033[32;40m""[Success]: upsampled rgb file genertated""\033[0m"
0是黑色,2是绿色,详见下图:
在putty的默认设置里,3是亮黄色
更详细的格式参见Customize your Bash prompt
1.1.2. 将当前文件夹下的文件存为数组
两种方式:
for f in `find . -type f`
do
echo $f
done
注意find的参数可能需要更细致的确定。
#!/bin/bash
j=0
for i in `ls -1`
do
folder_list[j]=$i
j=`expr $j + 1`
done
echo ${#folder_list[@]}
echo $folder_list
但它们都有一个共同的缺点,如果一个文件/文件夹名称有空格(骂的就是windows自动生成的System Volume Information),那么拆分就会有问题。
1.2. 其他问题
1.2.1. .sh中cd无效
sh脚本中执行的内容是在子shell中执行,因此退出之后母shell的位置并不会变,参考基于shell脚本中cd命令无效的解决方法
在terminal中直接输入source ***.sh
或者. ./***.sh