linux - 无法将新文件夹名称附加到 UNIX 脚本中的现有路径

标签 linux shell unix scripting

这是 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 命令创建一个目录,如您在上面的代码片段中看到的那样

我对 /ArchFolder 的某些看法并未在“/psoft/PNRDP1/sqr/”末尾进行串联。

我的问题是 1)连接技术是否有任何错误。

2) 或者不是在 mkdir 中连接和使用该变量,我应该在 mkdir 中附加新的目录名称并执行,这是否有效,如果是的话,有人可以告诉我这段代码吗。

提前致谢

最佳答案

在 Bash 中连接两个变量很容易,请参阅 here 中的示例:

foo="Hello"
foo="$foo World"
echo $foo
> Hello World

但是一个更简单的解决方案,不需要额外的变量,与您在第二个问题中提到的类似:

    mkdir -p "${BUP}/ArchFolder"

关于linux - 无法将新文件夹名称附加到 UNIX 脚本中的现有路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15023307/

相关文章:

java - java代码有问题,必须在linux终端上执行

php - 通过浏览器拒绝 CURL 权限,适用于 ssh

linux - 发送modem AT指令及解析结果

linux - 编写 unix 脚本自动发送电子邮件,传递参数

linux - 如何在 less 中更改文本方向?

unix - 为什么 $RANDOM 在 shell 脚本中的两个 for 循环中生成类似的值序列?

php - 在后台运行的进程挂起 PHP 页面

linux - 多个 sysroot 导致 makefile 的 gcc 调用错误地假定 Android NDK 路径。

shell - 如何避免特定命令失败时退出的 shell 脚本

shell - 为什么 zsh 无法从脚本中的路径读取 ~ (波浪号)?