Usando o nome de base do caminho atual para definir um novo arquivo [duplicado]

0

Estou tentando criar um script que crie uma pasta temporária com um nome específico, especificamente o nome base da pasta da qual estou executando o script. Para fazer isso, tentei fazer isso com a seguinte abordagem.

setenv suffix $(basename $PWD)
mkdir /tmp/userid_$suffix

Mas isso falha com um erro de nome de variável ilegal. Eu não consigo descobrir isso depois de procurar vários sites e perguntas aqui. Como posso adicionar o nome base da pasta atual a uma nova pasta, em uma etapa ou com uma variável?

    
por Tyberius 02.08.2017 / 00:13

2 respostas

2

O seguinte funciona muito melhor:

 setenv suffix 'basename $PWD'

Você indicou / bin / tcsh como seu shell.

    
por 02.08.2017 / 00:22
1

E como você está em csh , pode simplesmente ser escrito como:

mkdir "/tmp/userid_${cwd:t}"

em que a partir da atual pasta $cwd , podemos pegar seu nome de base através do modificador :t .

    
por 02.08.2017 / 07:04