2012-04-13 4 views
7

내 스크립트에서 파일의 위치 (경로)를 변수로 잡고 있습니다. 예를 들어나중에 리눅스 스크립트에서 사용할 수 있도록 변수로 디렉토리 저장

, FILEA

내용의 일례이다

FILEA =/USR/anotherfolder/somefold/"filenamehere"그러나

나는의 파일 명령을 호출 할 때 스크립트 같은 :

고양이 $의 FILEA

또는

,

cat "$ fileA"

파일 또는 디렉토리가 존재하지 않는다고 말하는 중 오류가 발생합니다. 출력이 무엇인지 알아보기 위해 $ fileA를 표시 한 다음 터미널에서 수동으로 고양이를 실행하면 문제가 무엇인지 알지 못합니다. 어떤 도움이 필요합니까?

일부 디버그 정보 :

  • FILEA = '/ 홈/야곱/데스크탑/CS35L이/WORK/2/HW/TEST3/"새로운"'
  • 에코 '/ 홈/야곱/데스크탑/CS35L/WORK/2/hw/test3/"new" ' /home/jacob/Desktop/CS35L/WORK/2/hw/test3/"new"
  • '[ ''! ' 읽을 수있는 파일에 대한 -r '/ 홈/야곱/데스크탑/CS35L이/WORK/2/HW/TEST3/"새로운"' ']'이 특정 라인에 대한

확인

echo $fileA 
if [ ! -r "$fileA" ] 
then 
    o=`expr $o + 1` 
    echo "$fileA not readable." 
    continue  
fi 
파일 이름이 new (안 "new") 인 경우
+0

'cat "$ fileA"'시도하십시오. 행운을 빕니다. – shellter

+0

이 시도했지만 결과를 변경하지 않았습니다 – jsjwooowooo

+0

'$ fileA'는 특수 문자를 포함합니까? – kev

답변

10

후 변경

fileA='/home/jacob/Desktop/CS35L/WORK/2/hw/test3/"new"' 

fileA=/home/jacob/Desktop/CS35L/WORK/2/hw/test3/new 
+0

따옴표가 있습니까 – jsjwooowooo

+0

@jsjwooowooo 디버그 정보를 이해할 수 없다. – kev

+0

방금 ​​-xv 명령으로 스크립트를 실행했는데 결과가 출력 된 것입니다. – jsjwooowooo

관련 문제