如何在Bash中将多行字符串写入文件

时间:2016-08-24 14:10:47

标签: bash

我想从bash脚本询问时重写配置文件。这是我的代码。

function quality {
    echo $1 > ~/.livestreamerrc
    echo ".livestreamer was modified!"
}

best="stream-types=hls
hls-segment-threads=4
default-stream=best
player=vlc --cache 5000"

read -p "Set quality: " INPUT
if [[ "$INPUT" == "!best" ]]; then
  quality $best
fi

此代码对.livestreamer文件执行以下操作。

$cat ~/.livestreamerrc
stream-types=hls

为什么?

1 个答案:

答案 0 :(得分:2)

将其更改为

quality "$best" # double quotes to avoid word splitting

然后

echo "$1" > ~/.livestreamerrc

注意:值得检查[ shellcheck ]文档。此外,完整的大写变量如INPUT也保留给系统。