Shellスクリプトを使用した2つの変数の比較

Shellスクリプトを使用した2つの変数の比較

次の変数を比較できるスクリプトがあります。

FT_NBR1=\'?"\"'\
FT_NBR2=rcrdmddd

私の質問は、端末で比​​較を実行するためにFT_NBRs変数をスクリプトに渡すのですか?

答え1

シェルを使用して変数をエクスポートし、スクリプトで使用できます。

スクリプト例:

#!/bin/bash --
echo "${test}"

変数をエクスポートしてスクリプトを実行します。

$ export test=something
$ ./script
something

変数に値を割り当てる方法は機能しません。

FT_NBR1=\'?"\"'\
FT_NBR2=rcrdmddd

FT_NBR2いいけどFT_NBR1効果はありません。一重引用符と二重引用符と特殊文字エスケープを見てください。

答え2

環境変数をスクリプトに渡し、以前に変数を設定できます。変数は現在の環境では設定されておらず、これは状況によっては便利です。

スクリプト.sh:

#!/bin/bash
echo "var1: $var1"

その後、使用

$ var1=234 ./script.sh
var1: 123
$ echo "var1: $var1"
var1: 

これはbashで動作します。一般的なPOSIX互換性についてはわかりません。

関連情報