오류가 발생합니다.
touch: cannot touch `/opt/tsrm/compliance/cme/log/20121207.log`: No such file or directory
터치 시 명령:touch $LOGFILE
또한 링크를 확인했습니다.touch: 'foo'를 건드릴 수 없습니다: 해당 파일이나 디렉토리가 없습니다, 하지만 대답을 이해하지 못합니다.
참고: 이것도 얻었습니다 . 옵션을 mkdir: cannot create directory
추가하여 -p
문제를 해결했습니다 .
이것이 내가 사용하고 있는 Linux 버전과 관련이 있을 수 있습니까?
답변1
파일을 저장할 경로가 없습니다.
/opt/tsrm/compliance/cme/log/
여기서 오류가 발생합니다.
답변2
경로를 잘못 입력하신 것 같습니다. 예를 들어 폴더가 /stuff/more_stuff
존재하지 않습니다. 결과는 다음과 같습니다.
user@linux:~ $ touch /stuff/more_stuff/stuff.file
touch: cannot touch `/stuff/more_stuff/stuff.file': No such file or directory
둘 다 /stuff
있어야 기능을 /stuff/more_stuff
수행할 수 있습니다.touch
답변3
이 답변이 어리석게 들리더라도 누락된 디렉터리 외에도 값 주위에 문자열 구분 기호가 있을 수 있습니다.$LOGFILE
피복재:
LOGFILE=/stuff/more_stuff/stuff.file
touch $LOGFILE
작동 안함:
LOGFILE="/stuff/more_stuff/stuff.file"
touch $LOGFILE
일부 Linux 배포판에는 위와 같은 특징이 있으므로 주의하세요 ;)
답변4
예, 오타가 있거나 디렉토리가 존재하지 않을 수 있습니다.
LOGFILE="/opt/tsrm/compliance/cme/log/20121207.log"
LOG_DIR=`dirname $LOGFILE`
[ ! -d $LOG_DIR ] && mkdir -p $LOG_DIR
touch $LOGFILE