Crie um dir no scratch com o mesmo nome do diretório pwd

0

Eu tento simplificar meu problema,

Estou tentando escrever um script bash, que pode pegar o nome do diretório real (assim como você obtém pela instrução "basename") e criar um mesmo diretório no zero.

#!/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

O problema é que eu recebo uma mensuração de erro:

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

Agora estou um pouco preso. Alguém sabe como dizer isso?

Obrigado por qualquer sugestão

Paul

    
por Pavol Namer 01.04.2015 / 10:46

2 respostas

0

Sua tarefa

name_on_scratch= "basename" "$PWD"

é formado incorretamente: basename é um comando, então você precisa de substituição de comando usando backticks ou sintaxe $(...) . Também não pode ter espaço ao redor do operador = :

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

    
por steeldriver 01.04.2015 / 14:31
0

Você deve garantir que $ jobid tenha um valor que possa ser usado como um nome de diretório.

    
por Gunnar Hjalmarsson 01.04.2015 / 11:26