重击:为管道空字符串提供默认值

时间:2020-04-30 01:35:35

标签: bash

以下是我要实现的目标:

  1. 从名为.env的环境文件中获取令牌值
  2. 如果令牌为空,则curl是身份验证服务器
  3. 将令牌传递到环境并运行npm start

.env如下所示:

TOKEN=xyzabc

以下是我当前的脚本: TOKEN=$(grep 'TOKEN' .env | cut -d '=' -f2) npm start

但是我不知道如何注入步骤2中列出的逻辑,就像curl auth.server,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

要检测字符串中的字符数:${#STRING}。如果grep给TOKEN的值不返回任何值,则字符串长度将为零。

TOKEN=$(grep 'TOKEN' .env | cut -d '=' -f2)
[ ${#TOKEN} -eq 0 ] && TOKEN=$(curl server.auth)
npm start

说明

  1. 从名为.env的环境文件中获取令牌值。 TOKEN=$(grep 'TOKEN' .env | cut -d '=' -f2)
  2. 如果令牌为空,则卷曲身份验证服务器
    [ ${#TOKEN} -eq 0 ] && TOKEN=$(curl server.auth)
  3. 将令牌传递到环境并运行npm start
    npm start