1 votos

¿Cómo puedo crear una carpeta llamada como la fecha actual en bash

Así que estoy jugando en mi .bashrc haciendo diferentes alias y jugando con mi prompt. Ahora estoy tratando de hacer un alias que se moverá a un directorio específico, hacer un nuevo directorio basado en la fecha, y hacer un nuevo archivo. Todo en un alias. Esto es lo que he hecho...

export DATE="$( date +%d-%b )"
alias hw='cd ~/Java/Homework/257; mkdir $DATE; cd $DATE; vim'

Ahora si salgo y corro hw Client.java debe pasar a ~/Java/Homework/257/27-Jan/ y abrir un nuevo archivo llamado Client.java en vim. Todo funciona de maravilla excepto la variable fecha que no funciona bien. Me mueve al directorio ~/Java/Homework/257 y hace dos directorios. Uno llamado date y otro llamado +%d-%b y pone el archivo Client.java en el directorio date.

Pensé que mi exportación de variables de fecha simplemente no estaba funcionando, pero cuando escribo $DATE en el símbolo del sistema me da 27-Jan como debería. Entonces, ¿alguien sabe lo que realmente podría estar causando esto? Un amigo mío hizo algo muy similar a esto utilizando una cadena de formato ligeramente diferente para la fecha y su funciona muy bien. Lo único que tengo diferente en mi ordenador es bash-completion de homebrew pero no veo como eso podría afectar a mi fecha...

2voto

Aidan Ryan Puntos 5056
export DATE="$( date +%d-%b )"

Tienes que ejecutarlo realmente. De lo contrario, sólo asigna un valor de cadena. Dado que te faltan las comillas alrededor de $DATE se interpretará como dos argumentos separados, date y +%d-%b .

2voto

Intente definir go como una función en .bashrc o .alias :

go() {
    DATE=$(date +%d-%b)
    mkdir "$DATE"
    cd "$DATE"
    vim "$1"
}

Esto asegura que la fecha se determina cada vez que usas el comando y no sólo cuando inicias sesión/inicias bash.

1voto

Lockhead Puntos 153

En la línea de las otras respuestas: necesitas ejecutar el comando date. Probablemente la solución más sencilla sería cambiar las comillas por ticks posteriores:

export DATE=`date +%d-%b`

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X