2016-12-20 17 views
0

私は、次のsudo ./testBASHスクリプトが正しく

bashスクリプトを実行して実行bashスクリプト、レポを作成し、その中で、以下のデータを保存する必要があります。

だから、これはbashスクリプトです:しかし

#!/bin/bash 
echo "Inputing data... " 
echo "[mongodb-org-3.2] 
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/" > /etc/yum.repos.d/mongodb-org.repo 

、releaseverスクリプトは、このようなテキストを保存し、それの前に$を持っているので:

[mongodb-org-3.2] 
baseurl=https://repo.mongodb.org/yum/redhat//mongodb-org/3.2/x86_64/ 

代わりのようなこの:私は、テキストではなく変数として$releaseverを扱うことができる方法

[mongodb-org-3.2] 
baseurl=https://repo.mongodb.org/yum/redhat/$c/mongodb-org/3.2/x86_64/ 

任意のアイデア?

二重引用符を入れてみましたが、まだ動作しません。私はbashスクリプティングに新しいので、助けに感謝しています。

ありがとうございます!

答えて

0

可変拡大を防ぐために単一引用符を使用してください。

二重引用符の使用:単一引用符を使用して

sh-4.1$ baseurl1="https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/" 
sh-4.1$ echo $baseurl1 
https://repo.mongodb.org/yum/redhat//mongodb-org/3.2/x86_64/ 

を:

sh-4.1$ baseurl2='https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/' 
sh-4.1$ echo $baseurl2 
https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ 
+0

素晴らしい感謝! – noDe1

0

は例えば、あなたがbashの変数を呼び出すにしたくないことを示すために、バックスラッシュ文字を使用します。

echo \$HELLO 
関連する問題