如何在变量 $File Equals 中使用的文件名中包含变量

How to Include Variables in a File Name used in a Variable $File Equals

为什么回显不是 return - /lsf10/monitors/lpstat_email_1_vmobius_05122021.txt ? 它 returns --> $FILE

#!/usr/bin/ksh
integer max=3
integer i=1
while [[ $i -lt $max ]]
do
today=`date +%m%d%Y`
FILE = "/lsf10/monitors/lpstat_email_$i_vmobius_$today.txt"
echo "the $FILE"

echo $i
echo "the $FILE"
(( i = i + 1 ))
done
 

在变量周围使用 ${...} 以在字符串文字内进行插值 - 它使事情更清楚并有助于解释器。

缩进有助于提高可读性和可维护性。

试试这个:

#!/usr/bin/ksh
integer max=3
integer i=1 
while (( i < max ))
do
    today=`date +%m%d%Y`
    FILE="/lsf10/monitors/lpstat_email_${i}_vmobius_${today}.txt"
    echo "the $FILE"
    echo $i
    echo "the $FILE"
    (( i ++ ))
done