这是shell脚本中的以下代码(while循环)
do
echo "directory under is @ " ${dir} >>${DEBUG_LOG_FILE}
BUP="$PS_HOME/${PSFT_SID}/${dir}";
echo "backup folder created is1 : ${BUP} " ${BUP} >>${DEBUG_LOG_FILE}
$BUP=${BUP}+"/ArchFolder"
BUP1=${BUP}+"ArchFolder" (Since "/" is already in the BUP variable"
echo "backup folder created is 2 : ${BUP1} " ${BUP1} >>${DEBUG_LOG_FILE}
echo "backup folder created is 3 : ${BUP} " ${BUP} >>${DEBUG_LOG_FILE}
mkdir -p ${BUP}
done
当我在开头回显${BUP}时,得到的输出是/psoft/PNRDP1/sqr/(目录结构)
我的任务:尝试将/ArchFolder附加到上面的输出,然后尝试使用mkdir命令创建一个目录,如您在上面的代码片段中看到的
在“/psoft/PNRDP1/sqr/”结尾处,有些how-I-see/ArchFolder没有得到连接。
我的问题是
1)级联技术是否有错误。
2)或者不在mkdir中连接和使用该变量,而是在mkdir中附加新的目录名并执行,如果可以,任何人都可以给我显示代码。
提前谢谢
最佳答案
在Bash中连接两个变量很容易,请参见here中的示例:
foo="Hello"
foo="$foo World"
echo $foo
> Hello World
但是一个更简单的解决方案,不需要额外的变量,就像你在第二个问题中提到的那样:
mkdir -p "${BUP}/ArchFolder"