在临时目录中创建一个与 pwd 目录同名的目录

在临时目录中创建一个与 pwd 目录同名的目录

嗨,我尝试简化我的问题,

我正在尝试编写一个 bash 脚本,它可以采用实际的目录名(就像通过语句“basename”获得的那样)并在草稿上创建一个相同的目录。

#!/bin/bash
#variables
name_on_scratch= "basename" "$PWD"
echo $name_on_scratch
home=`pwd`
workdir=/gpfs/scratch/$USER/$name_on_scratch/

rm -rf $workdir 2>/dev/null # delete if exist
#make a dir on scratch
mkdir $workdir


echo $workdir
echo $name_on_scratch

问题是我收到一条错误消息:

mkdir: cannot create /gpfs/scratch/upolpnam//.
/gpfs/scratch/upolpnam//: File exists
/gpfs/scratch/upolpnam//

现在我有点困惑。有人知道如何解决这个问题吗?

感谢您的任何建议

保罗

答案1

你的任务

name_on_scratch= "basename" "$PWD"

格式不正确:basename是一个命令,因此你需要命令替换使用反引号或$(...)语法。此外,运算符周围不能有空格=

name_on_scratch="$(basename "$PWD")"

答案2

您应该确保 $jobid 有一个可以用作目录名的值。

相关内容