1) windows中的脚本,路径均是反斜杠\ , 在linux中,路径是斜杠/,需要将反斜杠替换为斜杠,使用sed命令,如下
sed -i "s:\\\:\/:g" /home/pp/install.sql
将/home/pp/install.sql 文件中的 \ 替换为 /
sed -i "s:04risk\::Ig" *.sql
将所有sql文件中的04risk\ 替换为空,且不区分大小写,参数I表示不区分大小写。
2)显示linux命令执行结果,使用 echo $(linux命令) 或者用小引号括起来,小引号是键盘1左边的那个字符,不是单引号。 比如显示当前路径, echo $(pwd) 或者 echo `pwd` 3) 获取当前目录路径, basename $(pwd) 4) for 循环读取目录以及其子目录
#! /bin/bash function read_dir(){ for file in `ls $1` do if [ -d $1"/"$file ] //注意此处之间一定要加上空格,否则会报错 then //替换所有sql文件的反斜杠 sed -i "s:\\\:\/:g" $1"/"$file"/"*.sql read_dir $1"/"$file else echo $1"/"$file fi done }read_dir $1