给定一个字符串数组,我需要将每个字符串作为源文件输入到构建脚本中。
SOURCES=( \
"../../header1.h " \
"../../source1.cpp " \
"../../header2.h " \
"../../header3.h " \
...
"./main.cpp")
SOURCE_AS_STR=""
for val in "${SOURCES[@]}";
do
SOURCE_AS_STR+=$val
done
bash my_build_script.sh < "${SOURCE_AS_STR}"
BASH 终端响应:
... No such file or directory
我尝试过数组和定界符字符串,但我也收到“不明确的重定向”错误。
我所需要的就是失去重定向
<
,我可以按照Paolo评论中的建议做bash my_build_script.sh "${SOURCES[@]}"
。
我的问题是“重定向不明确”,所以我不知道我可以删除
<
并发送数组。
反斜杠(定义
SOURCES
时)是不必要的,但它们没有害处。
您没有指定
my_build_script.sh
如何期望输入。
如果输入应通过标准输入来,请执行以下操作
my_build_script.sh <<<$SOURCE_AS_A_STRING
如果输入应作为参数传递给脚本,请执行 a
my_build_script.sh "$SOURCE_AS_A_STRING"
如果输入应通过环境传递给脚本(例如,通过环境变量
BUILD_INPUT
),请执行 a
BUILD_INPUT=$SOURCE_AS_A_STRING my_build_script.sh