sedから入力を読む

sedから入力を読む

私はシェルスクリプトに初めて触れました。少しずつ学んでいます。私はPHPに慣れていて、今は私に不利に働いています。

とにかく私は次のようにシェルスクリプトを作成し、入力を読んでいます。

read $foo

これで、次のようにsed文字列の置換にこの変数を使用したいと思います。

sed -i 's/replaceme/$foo' myfile.txt

私が得ることは、$ fooが実際には同じではない文字通りの代替です。代わりに、私はそれがユーザーの入力になりたいです:

例:

この行(read $foo)を使用してください。 「bar」と入力したとしましょう。だから$foo='バー'ユーザー入力から。

現在の出力: $foo

希望の出力 bar

これが意味があることを願っています。

答え1

短い答え:一重引用符の代わりに二重引用符を使用してください。

一重引用符はシェル変数の拡張を防ぎますが、二重引用符はありません。

詳細については、次を参照してください。http://www.grymoire.com/Unix/Quote.html

詳細はシェルのドキュメントに含まれており、シェルごとにわずかな違いがありますが、基本はほとんどすべてのUnixスタイルのシェルで同じです。

関連情報