パラメーターの変数値が解析されないため、echoステートメントを印刷できません。 [閉じる]

パラメーターの変数値が解析されないため、echoステートメントを印刷できません。 [閉じる]

メインスクリプトを取得し、メインスクリプトで使用できる関数に引数を渡し、関数定義を実行するサブスクリプトがあります。関数呼び出しは正常に機能しますが、次の問題が発生します。

  1. 最初のecho明細書は印刷されません。

  2. 下付き文字パラメーターの変数が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を使用しているため、'式は不完全で失敗します。

おすすめ記事