Dans Linux Shell, puis-je créer un répertoire mais le nom serait une chaîne renvoyée par un autre programme? Et si je le peux, comment faire?
En particulier, on me demande de créer un nouveau répertoire dans ma maison, et son nom serait la minute sur l'horloge de mon ordinateur. Supposons que /home/john/01/
, 01
soit les minutes de mon horloge.
Je pensais à quelque chose comme un pipeline date +"%M" | mkdir
mais je ne sais pas comment je vais mettre ce nombre renvoyé dans le programme mkdir
.
Enfin, une autre idée m'est venue à l’esprit, quelque chose comme ceci: mkdir (date +"%M")
, mais c’est aussi une erreur. Toute aide s'il vous plaît?
Le concept que vous recherchez est substitution de commande , qui utilise la syntaxe $(command)
mkdir /home/john/$(date +%M)
Vous pouvez également voir l'ancienne syntaxe 'backtick', `command`
mkdir $(date +%Y%m%d)
ou j'utilise personnellement mkdir $(date +%Y%m%d_%H%M%S)
pour hh: mm: ss. date --help
vous donnera les différents formats si vous avez besoin de quelque chose de plus.
Vous pouvez le faire facilement en utilisant la commande suivante:
$ min=$(date +"+%M"); mkdir $min
Vous pouvez le faire en tapant la commande suivante:
mkdir ~/$(date | awk -F':' '{print $2}')
La commande crée un répertoire dans le dossier home
et donne le nom de la minute en cours.