メインスクリプトを取得し、メインスクリプトで使用できる関数に引数を渡し、関数定義を実行するサブスクリプトがあります。関数呼び出しは正常に機能しますが、次の問題が発生します。
最初の
echo
明細書は印刷されません。下付き文字パラメーターの変数が
now
確認されていません。以下で私の結果を見つけてください。
メインスクリプト
Function_1 ()
{
cd /home/test/
File_name="$1".txt
if [[ "$File_name" =~ ^[[:alnum:]][[$_."#&']] ]]; then
echo " For your Info, File name can be alpha numeric and can contain special characters like $_."&'#" please proceed "
fi
if [[ -f "$File_name" ]];
then
echo "File Name - $File_name"
else
echo "File Name - $File_name doesn't exists"
fi
}
下付き文字
export now=$( date '+%Y%m%d' )
Function_1 'abc_${now}'
予想される結果
For your Info, File name can be alpha numeric and can contain special characters like $_."&'#" please proceed
File Name - abc_20200204.txt
実際の結果
File Name - abc_$now.txt doesn't exists
ベストアンサー1
if [[ "$File_name" =~ ^[[:alnum:]][[$_."#&']] ]]; then
"
aとaを使用しているため、'
式は不完全で失敗します。