Faire le titre d'un répertoire de la date de bash?
Je veux faire de la date du jour dans le titre d'un répertoire dans /home/chris/Downloads
en utilisant mkdir
et date -I
J'ai essayé
mkdir "date-je"
qui me fait un dossier nom "date-je" Sans les guillemets, il donne l'erreur
mkdir: invalid option -- 'I'
D'essayer d'en faire une variable suivant
date= date -I
mkdir -p $date
avec le -p
option, il avait l'air bien, mais lors de l'inspection, le dossier n'a pas été créée.
retrait -p
me met l'erreur
mkdir: cannot create directory `/home/chris/Downloads/': File exists
et même en lui indiquant le chemin d'accès complet
date= date -I
mkdir "/home/chris/Downloads/$date"
me met le même message d'erreur qu'avant
Ce n'est pas que la variable est vide, je reprends l'avais et la valeur est ce que je devrais attendre, il semble que la valeur n'est pas remplacé avant que le répertoire est créé. Quel serait le moyen de contourner ce problème? Je suis sur Ubuntu 11.04 (Natty Narwhal) si tout cela ne vous donne plus d'infos.
$date
variable, mais votre syntaxe pour le faire est large, et pas seulement à cause du manque backticks$, ou(...). Dans une affectation de variable, vous ne pouvez pas avoir des espaces avant ou après le =
. date= date -I
jeux de $date
à la chaîne vide, puis exécute date -I
. C'est comme date=foobar date -I
sauf que $date
est vide plutôt que de foobar
. La syntaxe correcte serait date=$(date -I)
.OriginalL'auteur Christian | 2011-08-19
Vous devez vous connecter pour publier un commentaire.
Votre syntaxe est incorrecte:
ou
travaillera
mkdir -p /tmp/"$(date -I)"
. Obivously n'a pas d'importance pourdate
, mais pour d'autres commandes qu'il peut.mkdir -p /tmp/$(echo foo bar)
ne fait pas ce que vous pourriez vous attendre.Aussi préfèrent
$( )
plus de backticks comme tous POSIX coquilles de soutien, il peut être imbriquées à la différence de backticks, et est plus facile à lire.OriginalL'auteur Thomas Berger
Utiliser ceci: backticks exécuter la commande au lieu de l'impression.
OriginalL'auteur Femi
Pouvez également essayer xargs (cependant, vous ne savez pas si c'est une bonne pratique)
OriginalL'auteur Nick