1、启动Linux系统,用ssh工具连上Linux系统。
2、bash自带了一些调试选项。
3、在脚本启动时添加调试选项。来调试debug.sh。
4、在脚本内添加调试选项,使用set 命令。
5、现在要看debug.sh脚本执行的调试信息,就不需要使用bash -x ./debug.sh执行了。
6、在脚本开头添加-xv选项。
7、同样现在执行./debug.sh,也可打印出调试信息。
注意事项:
shell脚本在计算机科学中,是指“为使用者提供 *** 作界面”的软件(命令解析器)。类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
如果是bash,可以用数组,比如下面的循环,对每一个关键字 (赵钱孙里)处理一次
declare -A data
for key in zhao qian sun li zhao sundo
if [ -z "${data[$key]}" ]then
data[$key]=1
else
let data[$key]++
fi
done
for key in ${!data[@]}do
echo "$key occured ${data[$key]} times"
done
注意,命令引起来的是tab键上面那个,而不是单引号解释:
md5sum a.txt的结果例如是
3a5cacda937fbe71fcb72cfe4904dee8 a.txt
前面是MD5值,a.txt是你指定的文件名,我们要取前面那部分,有2个方法:
方法一,也就是xiehuahere的回答:
a[1]=`md5sum a.txt | cut -d' ' -f1`
其中cut的-d,是指定空格为分隔符,-f1是指定取分隔后的第一个字串,就是我们要的MD5值了。
方法二:
md5sum a.txt | awk -F ' ' '{print $1}'
awk的-F ' ',是指定空格为分隔符,是指定空格为分隔符,是指定取分隔后的第一个字串,也是我们要的MD5值。
赋值除了使用“`”反引号,还可以这样,例:
a[1]=$(md5sum a.txt | cut -d' ' -f1)
a[1]=$(md5sum a.txt | awk -F ' ' '{print $1}')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)