Je reçois l'erreur:
touch: cannot touch `/opt/tsrm/compliance/cme/log/20121207.log`: No such file or directory
sur la commande tactile: touch $LOGFILE
J'ai également vérifié le lien: Touch: Impossible de toucher `foo ': aucun fichier ou répertoire de ce type , mais je n'ai pas compris la réponse.
Remarque: je devais aussi avoir mkdir: cannot create directory
; J'ai réparé cela en ajoutant le -p
option.
Pourrait-il être quelque chose avec la version de Linux, je travaille?
Vous n'avez pas le chemin qui détient le fichier:
/opt/tsrm/compliance/cme/log/
C'est là que vient l'erreur.
On dirait que vous avez orthographié le chemin. Par exemple, ce dossier /stuff/more_stuff
n'existe pas. Cela me donne le résultat:
user@linux:~ $ touch /stuff/more_stuff/stuff.file
touch: cannot touch `/stuff/more_stuff/stuff.file': No such file or directory
Les deux /stuff
et /stuff/more_stuff
Besoin d'exister pour que touch
fonctionne.
Oui, il pourrait y avoir des chances de Miss Towo ou Directory n'existe pas.
LOGFILE="/opt/tsrm/compliance/cme/log/20121207.log"
LOG_DIR=`dirname $LOGFILE`
[ ! -d $LOG_DIR ] && mkdir -p $LOG_DIR
touch $LOGFILE
Aussi stupide que cette réponse sonne, autre que le répertoire manquant, il pourrait y avoir un délimiteur de chaîne entourant la valeur en $LOGFILE
Travail:
LOGFILE=/stuff/more_stuff/stuff.file
touch $LOGFILE
Ca ne fonctionne pas:
LOGFILE="/stuff/more_stuff/stuff.file"
touch $LOGFILE
Certaines distro Linux ont la bizarrerie ci-dessus, alors soyez prudent;)