学习笔记:sh脚本编写

变量

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值