将文本放入变量 with 变量中,然后执行

将文本放入变量 with 变量中,然后执行

我有一个使用变量构建的命令,有时它们有"'。我想将文本保存到变量中而不用担心引号。

看着正在思考类似的事情:

ESCAPE_CHAR="${1-\"}"
DELIMITER="${2:-,}"
IFS='' read -r -d '' var <<'EOF'
gunzup -cd ${FILE} | sed -E 's/(${ESCAPE_CHAR}([^${ESCAPE_CHAR}]*)${ESCAPE_CHAR})?${DELIMITER}/\2\t/g'
EOF
split -C 64M -d -a 3 | gzip > $FILE.gz' <(eval "${val}") split/files_

这里基本上发生的是我将 gzip csv 文件转换为 tsv。此代码的问题在于 EOD 内的变量未转换为其值。也许它也eval不会工作,因为它周围val有引号,但这还有待观察。

相关内容