Laravel Sail应通过在dotenv文件(.env
)中配置多个docker-compose文件来支持这些文件。
我的.env
文件中的行...
SAIL_FILES='docker-compose.yml:docker-compose-arm.yml'
处理多个sail文件的部分(我不能/不应该编辑此部分)
if [ -n "$SAIL_FILES" ]; then
# Convert SAIL_FILES to an array...
SAIL_FILES=("${SAIL_FILES//:/ }")
for FILE in "${SAIL_FILES[@]}"; do
if [ -f "$FILE" ]; then
DOCKER_COMPOSE+=(-f "$FILE")
else
echo "${BOLD}Unable to find Docker Compose file: '${FILE}'${NC}" >&2
exit 1
fi
done
fi
我尝试了一些不同的分隔符(逗号,空格,等等)。它看起来很简单,但我不能让它工作。我不明白SAIL_FILES=("${SAIL_FILES//:/ }")
如何执行数组转换(我是第一次使用Bash)。
我重新创建了问题here,它应该只是在新行中回显每个文件名。
这似乎没有记录在拉腊维尔的任何地方。
谢谢。
1条答案
按热度按时间yvgpqqbh1#
双引号可防止单词拆分。如果希望发生单词拆分,请不要引用:
也可以使用
$IFS
来拆分字符串而不进行替换: