2016-08-12 2 views
-1

以下のスクリプトで問題に直面しています。構文エラー:無効な算術演算子です(エラートークンは ".repo"です)。スクリプトの目的は、MariaDB.repoが存在するかどうかをチェックし、そうでなければ同じ名前の空のファイルを作成することです。親切に私が間違っているところをお勧めします&これを修正する方法。レポ作成スクリプトです。

MDB=$(find '/etc/yum.repos.d/' -maxdepth 1 -name "MariaDB.repo") 

if [[ $"MDB" -eq "MariaDB.repo" ]] 
then 
    echo "Repo already exists" 
else 
    touch /etc/yum.repos.d/MariaDB.repo 
fi 
+0

もし[if [-f /etc/yum.repos.d/MariaDB.repo] ']をチェックしてみませんか? –

+0

さらに/ touch/etc/yum.repos.d/MariaDB.repo'を実行すると、ファイルのタイムスタンプが更新されます。 –

答えて

0

いくつかの問題があります。

  1. $"MDB""$MDB"でなければなりません。
  2. findの出力は、ファイルの基本名だけでなく、完全なパス名になります。
  3. -eqは、数値を比較するためのものです。文字列を比較するには、=を使用する必要があります。

ただし、findを使用する必要はありません。ファイルが存在するかどうかをテストするビルトイン演算子があります。

MDB=/etc/yum.repos.d/MariaDB.repo 
if [[ -f "$MDB" ]] 
then 
    echo "Repo already exists" 
else 
    touch "$MDB" 
fi 
+0

ありがとうございます.. @Barmar – SJP

+0

これで問題が解決した場合は、回答を受け入れる必要があります。その横にあるチェックマークをクリックします。 – Barmar

関連する問題