变量
date=$(date "+%Y:%m:%d")
current_path=$(pwd)
path="./build"
echo "date is ${date}"
echo path
判断
-d 判断路径是否存在
-f 判断文件是否存在
-n 判断是否为空
if [[ ! -d "${path}" ]]; then
mkdir ${path}
fi
if [ ! -f ${file} ];
then echo "${file} file not exist"
exit 0
fi
if [ ! -n :"${tag}" ]; then
then echo "${tag} not found"
exit 0
fi
# 判断字符串包含
if [[ $str =~ $extName ]]
then
echo "包含"
else
echo "不包含"
fi
路径切换
echo $(pwd)
pushd /Users
echo $(pwd)
popd
pushd /bin
echo $(pwd)
popd
echo $(pwd)
文件修改
#!/bin/sh
packageFIle="./package1.json"
version=$(cat package.json | sed 's/,/\n/g' | grep "\"version\"\:" | sed 's/:/\n/g' | sed 's/\"//g' | sed '1d' |sed 's/ //g' | sed 's/}//g')
version1=$(cat ${packageFIle} | sed 's/,/\n/g' | grep version\": | sed 's/:/\n/g' | sed '/version/d' | sed 's/\"//g' | sed 's/ //g')
buildVersion=$(cat ${packageFIle} | sed 's/,/\n/g' | grep bundleVersion\": | sed 's/ //g')
newBuildVersion=$(echo \"bundleVersion\": \"${version}\")
echo ${packageFIle}
echo ${version}
echo ${buildVersion}
echo ${newBuildVersion}
# 注意mac的 -i 修改文件后要加 "",之后才是替换语法
sed -i "" "s/${buildVersion}/${newBuildVersion}/g" ${packageFIle}
循环
i=1
until [ $i -gt 10 ]
do
echo $i
sleep 1
i=$(($i+1))
done
i=0
while ((++i)); do
printf $i
if((i>10)); then
break
fi
done