我正在使用 herestring 将字符串(带有换行符的两个输入值)作为标准输入传递给安装程序可执行文件。例如,执行带有两个输入的安装程序/var/tmp
和yes
#!/bin/bash
# run_installer.sh
./installer <<< $'/var/tmp\nyes\n'
但是,我需要参数化输入。
例如
#!/bin/bash
# run_installer.sh
export INPUT1="$1"
export INPUT2="$2"
# does not work, it evaluates literally to: ./installer ${INPUT1} ${INPUT2}
./installer <<< $'${INPUT1}\n${INPUT2}\n'
这样我就可以像这样执行它:
./run_installer /var/tmp yes
被标记为重复的问题不回答这个问题。它在概念上相似,但差异足以保证它自己的问题。