如何将空格分隔的参数传递给shell脚本而不用引号?

如何将空格分隔的参数传递给shell脚本而不用引号?

我的 bash 脚本如下所示:

#!/usr/bin/env bash

case "$1" in

    # API platform command
    console)
        check_health
        docker-compose exec php bin/console $2
    ;;

    schema)
        check_health
        docker-compose exec php vendor/bin/schema $2
    ;;
    exec)
        check_health
        docker-compose exec php $2
    ;;   
    *)
      echo -e "You have to specify a command"
      exit 1

esac
exit 0

如果我将脚本保存为bin/run( ./bin/run) 并设置,chmod +x bin/run我将能够通过以下方式运行命令:

bin/run console foo:bar

但如果需要之间有任何空格,例如foo:bar --force

我必须在引号中运行此命令,如下所示 bin/run console "foo:bar --force"

有没有办法让这个脚本更整洁并去掉引号?

相关内容