シェルスクリプトのパーセント記号と環境変数

シェルスクリプトのパーセント記号と環境変数

問題の解決中に、私たちのアプリケーションで使用されているシェルスクリプトの1つで以下に提供されているこれらの項目を見つけました。これはもはや会社に通っていない人が書いた文ですが、スクリプトが何をしているのかをじっくり調べようと努力しています。環境変数$ PAT_HOMEがあります。両端で使用すると、%$ PAT_HOMEのような環境変数を呼び出すのでしょうか?この場合、%記号を使用することは、環境変数を使用するときとどう違いますか?

echo "cd " %PAT_HOME%
cd  %PAT_HOME%
# P:
echo "pan.sh -file $kmrfile $logfile_location $csvfile"

cd  $PAT_HOME
sh pan.sh -file $kmrfile $logfile_location $csvfile

ベストアンサー1

UnixシェルスクリプトとDOSバッチスクリプトを混在させたようです。 :)

DOSは環境変数を束ねてアクセスします%。と似ています%PATH%が、Linuxではこれを行うことはできません。

一度試してください

$ echo %PATH%
%PATH%

環境変数は拡張されません。しかし、このスクリプトは本当に機能しますか?なぜなら、スクリプトの後半では変数が を介してアクセスされますが、親$部分は を介し​​てアクセスされるからです%。ほとんどの場合cd %PAT_HOME%、名前付きファイルがないと、そのセクションでエラーが発生します%PAT_HOME%

おすすめ記事