não é encontrada em um script bash

1

Eu escrevi o seguinte código para criar um diretório onde o nome do diretório será parecido com "nowt_hour_nimute_second". Mas o código está falhando no Bash Shell.

#THIS CODE WILL CREATE A DIRECTORY WITH TIME OF CREATION AS PART OF DIRECTORY NAME
#AUTHOR: SUBIR ADHIKARI
#DATE: 02/12/2014

echo "The time is $(date +%H_%M_%S)"
now=$(date +%H_%M_%S)
echo $now
echo $(pwd)
createdep=nowt_$now
echo $(createdep)
mkdir createdep

Na execução, recebo a seguinte saída ...

The time is 01_12_30
01_12_30
/home/adhikarisubir/test/basic_unix
createfiles.sh: 10: createfiles.sh: createdep: not found

O que estou perdendo aqui?

    
por Mistu4u 01.12.2014 / 20:48

1 resposta

3

Assim como o erro diz: createdep não é um programa.

Altere isto:

echo $(createdep)
mkdir createdep

para isso:

echo "$createdep"
mkdir "$createdep"

Observe que a string de formato para date também pode conter caracteres regulares, portanto, você não precisa da variável "now":

createdep=$(date +"nowt_%H_%M_%S")
    
por glenn jackman 01.12.2014 / 20:54