2016-08-24 12 views
1

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

引用符で問題はありませんか?あなたが 'var =" hello worldを持っていれば私はここにいますし、 'echo $ var'のときはフォーマットが失われます。代わりに、 'echo" $ var "'はうまくいきます。 – fedorqui

答えて

1

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

に変更し、それをしてから

echo "$1" > ~/.livestreamerrc 

[ shellcheck ] documentation.Alsoをチェックする価値は、INPUTのような完全に大文字の変数は、システム用に予約されています。

関連する問題