次の変数を比較できるスクリプトがあります。
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互換性についてはわかりません。