2014-11-28 3 views
2

매우 간단한 BASH 스크립트를 작성하고 있습니다. 내가하고 싶은 일은 컬을 사용하여 웹 카메라에서 이미지를 가져 와서 이름이 날짜로 표시된 파일에 쓰는 것입니다.BASH 스크립트에서 날짜 출력을 이스케이프 처리합니다.

#! /bin/bash 

DATE=$(date +%Y-%m-%d_%H-%M) 
DIRECTORY1=home/manager/security_images/Studio_1/ 
TARGET1=${DIRECTORY1}${DATE}.jpg 

curl http://[email protected]/snapshot.cgi > $TARGET1 

나는이 파일이나 디렉토리가 없다고 말하면서 실행하려고합니다. 나는 이것이 내 탈출기의 실수로 인한 것이라고 생각하지만 나는 각 단계에서 변수 주위에 인용 부호를 조합 해 보았지만 여전히 작동시킬 수는 없었다. 나는 무엇이 잘못되었는지를 이해하지 못하고 내가 잘못하고있는 것에 대해 실제로 어떤 포인터를 사용할 수 있습니다.

많은 감사

답변

0

아니요, 단지 오타입니다.

DIRECTORY1=home/manager/security_images/Studio_1/ 
      ^^ 

물론

DIRECTORY1=/home/manager/security_images/Studio_1/ 

이어야한다. 따옴표 에서 모든 기본적으로 모든 라인은 쉘 스크립트에 좋은 습관입니다 $variables, 거기에 매우 몇 가지 경우 때를 인용, 기술적으로 불필요한 그래서 단지 안전한 문자가 지금 사용하더라도 탈출에 관해서는

, 당신은 그들을 사용하고 싶지 않습니다.

+0

정말 고마워요 드미트리 전 정말 바보예요 ... –

0

더블 리디렉션 대상을 인용하는 것은 충분해야합니다 : 그것은 존재에

curl http://[email protected]/snapshot.cgi > "$TARGET1" 

그냥 확인 경로를 확인하십시오. 변수를 보간하는 방법을 보려면

set -xv 

으로 스크립트를 실행할 수 있습니다.

관련 문제