我不是bash的专家,但我可以想象这将是一个简单的脚本。我试图将只有几行的文件读入单个bash变量而没有新行。
我当前的脚本读取了它们,但保留了换行符
options=$(<vm.options)
echo "$options"
文件看起来像这样:
-Random 1
-Letters2
-Occur 3
-In
-Passwords9
脚本会将其读入变量,其输出将类似于:
-Random 1 -Letters2 -Occur 3 -In -Passwords9
答案 0 :(得分:2)
阅读文件内容后,您可以在bash中进行搜索/替换:
options=$(<vm.options)
# replace \n with space
options="${options//$'\n'/ }"
现在检查options
变量:
declare -p options
declare -- options="-Random 1 -Letters2 -Occur 3 -In -Passwords9"
答案 1 :(得分:2)
这还会产生所需的输出:
echo "\
-Random 1
-Letters2
-Occur 3
-In
-Passwords9" > tmp
var=$(cat tmp | tr -s '\n' ' ')
echo $var
导致:
-Random 1 -Letters2 -Occur 3 -In -Passwords9
带有cat
的部分不太漂亮(在特定情况下可能会破裂),但在这种情况下适用。
答案 2 :(得分:2)
您只需将新行替换为tr
即可:
options=$(cat lf | tr -s '\n' ' ')