O seguinte funciona muito melhor:
setenv suffix 'basename $PWD'
Você indicou / bin / tcsh como seu shell.
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?
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
.