Linux, BASH 使用特殊字符启动命令
Linux, BASH launch command with special char
我必须实现一个部署脚本,该脚本通过来自特定用户的特殊字符启动命令。
我必须启动的命令是:
cd /path
. ./setantenv.sh
我正在尝试使用以下语法启动命令:
su - USER -s /bin/bash -c 'cd /PATH/ && . ./setantenv.sh'
su - USER -s /bin/bash -c 'cd /PATH/ && ant clean all'
但是我遇到了 . ./setantenv.sh
的问题
为了配置后续 ant 命令的环境,您必须在第二次调用中包含“. ./setantenv.sh”。这两个调用都会导致不共享其特定环境的独立 bash 进程。
试试这个:
su - USER -s /bin/bash -c 'cd /PATH/ && . ./setantenv.sh && ant clean all'
我必须实现一个部署脚本,该脚本通过来自特定用户的特殊字符启动命令。
我必须启动的命令是:
cd /path
. ./setantenv.sh
我正在尝试使用以下语法启动命令:
su - USER -s /bin/bash -c 'cd /PATH/ && . ./setantenv.sh'
su - USER -s /bin/bash -c 'cd /PATH/ && ant clean all'
但是我遇到了 . ./setantenv.sh
为了配置后续 ant 命令的环境,您必须在第二次调用中包含“. ./setantenv.sh”。这两个调用都会导致不共享其特定环境的独立 bash 进程。
试试这个:
su - USER -s /bin/bash -c 'cd /PATH/ && . ./setantenv.sh && ant clean all'