>

복원 백업 스크립트를 수행 중이며 분할 된 파일을 결합하려고하면 cat에서 해당 오류를 인쇄합니다.

cat: fullbackup_mrbsNuevo_15_6_2016.tar.gz.*: No such file or directory

cat 명령을 실행하는 행은 다음과 같습니다 :

cat $type"_"$NAME_DIR"_"$d"_"$2"_"$1".tar.gz."\* > $type"_"$NAME_DIR"_"$d"_"$2"_"$1".tar.gz"

파일이 존재하고 디렉토리에 있는지 확인했습니다. 또한 쉘에서 명령을 실행하려고 시도했지만 정상적으로 작동합니다.

스크립트에서 무엇이 나쁜지 모르겠습니다.

디렉토리에서 ls 명령을 실행할 때 파일은 다음과 같습니다.

cisco@Paquito1:/tmp/backup$ ls -lah
total 7,1M
drwxr-xr-x 2 cisco cisco 4,0K 2016-06-18 12:01 .
drwxrwxrwt 5 root  root  4,0K 2016-06-18 10:10 ..
-rw-r--r-- 1 cisco cisco 5,0M 2016-06-18 11:52 fullbackup_mrbsNuevo_15_6_2016.tar.gz.aa
-rw-r--r-- 1 cisco cisco 2,1M 2016-06-18 11:52 fullbackup_mrbsNuevo_15_6_2016.tar.gz.ab

cat 명령을 실행하기 전에/tmp/backup 디렉토리로 이동합니다.

미리 감사합니다.

  • 답변 # 1

    * 를 탈출해서는 안됩니다 이 경우 파일 이름을 확장하지 않고 셸/bash에서 별을 검색합니다.

    시도

    cat $type"_"$NAME_DIR"_"$d"_"$2"_"$1".tar.gz."* > $type"_"$NAME_DIR"_"$d"_"$2"_"$1".tar.gz"
    
    

    수정

    부담 메모에서 인용하겠습니다

    cat ${type}_${NAME_DIR}_${d}_${2}_${1}.tar.gz.* > ${type}_${NAME_DIR}_${d}_${2}_${1}.tar.gz"
    
    

  • 답변 # 2

    마지막으로 해결책이되었습니다 :

    cat $type"_"$NAME_DIR"_"$d"_"$2"_"$1".tar.gz."* > $type"_"$NAME_DIR"_"$d"_"$2"_"$1".tar.gz"
    
    

    *를 이스케이프하지 않고 ""외부에 넣었습니다. 그의 답변에 대해 Archemar에게 감사드립니다. 그는 내 오류를 찾도록 도와줍니다.

관련 자료

  • 이전 centos - KALI Linux를 통해 Open Vas 실행
  • 다음 terminal - "at"(일괄 처리) 작업 + 대화 상자 = 없음