Скрипт bash не смог передать аргумент в linux

У меня есть скрипт bash, имя файла - deploy.sh, поэтому в моем терминале я делаю

#!/bin/bash

if [ -n "$1" ]
then
  ssh root@101.181.42.10 << 'COMMAND'
    cd /var/www/myApp
    git pull
    npm i
    pm2 kill
    pm2 start pm2.json --env $1
COMMAND
else
  echo "argument is not set!"
fi

но я получил эту ошибку error: option--env 'аргумент отсутствует`, что означает, что $1 не установлен, интересно, почему, я попытался это в моем терминале

. deploy staging

тогда мой баш

if [ -n "$1" ]
then
  ssh root@101.181.42.10 << 'COMMAND'
    echo $1
COMMAND
else
  echo "argument is not set!"
fi

Я вижу, что "постановка" была напечатана. Я неверно согласен с аргументом в моей команде?

0 ответов

Другие вопросы по тегам