쉘 스크립트의 변수 보간

Donato

pg 백업을 위해 다음 셸 스크립트를 작성했습니다.

#!/bin/bash

PG_USER=donato
DATABASE=mydb
SERVER=216.58.219.174
DIR="$HOME/pg_bak"
DATE=$(date +"%m_%d_%y")
FILE="$DATABASE_$DATE"
ERROR_FILE="$HOME/pg_bak/error_bak/$FILE_error.txt"
# pass @ .pgpass

PG_BAK_NOW () {
  pg_dump -h $SERVER -U $PG_USER $DATABASE >$FILE 2>$ERROR_FILE
  code=$?
  if [ $code -ne 0 ]; then
    echo 1>&2 "The backup failed (exit code $code), check for errors in $ERROR_FILE"
  fi
}

echo "Ready to dump to $FILE" >> "$HOME/pg_status" 

cd $DIR
if [ -f "$FILE" ];
then
  rm $FILE
  PG_BAK_NOW 
else
  PG_BAK_NOW
fi

내가 그것을 실행할 때, 나는 그것이 약간의 시간 동안 실행된다는 것을 압니다.

$ pgrep -fl pg_bak.sh
4603 pg_bak.sh

하지만 충돌합니다.

$ ./pg_bak.sh
The backup failed (exit code 1), check for errors in /home/viggy/pg_bak/error_bak/.txt

.txt부품을 주목하십시오 . 오류 파일의 이름이 있어야했다 mydb_6_11_2016_error.txt,하지 .txt. bash 스크립트가 변수 $ FILE과 하드 코딩 된 문자열 "_error"를 보간하지 않은 이유는 무엇입니까? 덤프 파일에서 $ FILE을 올바르게 보간했지만 오류 파일은 아닙니다. 왜?

Jlliagre

매우 흔한 실수 :

ERROR_FILE="$HOME/pg_bak/error_bak/${FILE}_error.txt"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 독립적 인 쉘 스크립트간에 변수 공유

분류에서Dev

한 쉘 스크립트에서 bash의 다른 스크립트로 변수 내보내기

분류에서Dev

쉘 스크립트의 부울 변수

분류에서Dev

쉘 스크립트보다 오래 사는 Bash 변수

분류에서Dev

쉘 스크립트 내에서 경로 변수 내보내기

분류에서Dev

쉘 스크립트에서 변수 '내보내기'

분류에서Dev

쉘 스크립트에서 시간 범위의 텍스트 표현 변환

분류에서Dev

쉘 스크립트로 변수의 내용을 인쇄 할 수 있습니까? (간접 참조)

분류에서Dev

Perl 스크립트에서 쉘 스크립트로 변수를 내보내는 방법은 무엇입니까?

분류에서Dev

쉘 스크립트 변수 및 루프

분류에서Dev

간단한 쉘 스크립트, 너무 많은 인수

분류에서Dev

텍스트 파일 데이터 구조의 일부 텍스트 조작 및 약간의 내용 변경을 수행하는 쉘 스크립트

분류에서Dev

텍스트 파일 데이터 구조의 일부 텍스트 조작 및 약간의 내용 변경을 수행하는 쉘 스크립트

분류에서Dev

쉘 스크립트 변수로 자신의 IP adresss 사용

분류에서Dev

Bash 출력을 쉘 스크립트의 변수로 캡처

분류에서Dev

쉘 스크립트의 변수 할당 규칙

분류에서Dev

파워 쉘 스크립트의 매개 변수로 json 전달

분류에서Dev

쉘 스크립트의 단위 승수 변환

분류에서Dev

Linux 쉘 스크립트의 위치 매개 변수 양

분류에서Dev

쉘 스크립트의 백분율 기호 및 환경 변수

분류에서Dev

쉘 스크립트 내의 명령에 변수 삽입

분류에서Dev

쉘 스크립트에서 변수 할당의 공백

분류에서Dev

쉘 스크립트의 출력을 변수에 저장

분류에서Dev

쉘 스크립트의 while 루프 내에서 변수 할당

분류에서Dev

쉘 스크립트 "while"조건의 "-h"매개 변수

분류에서Dev

쉘 스크립트 이메일을 통해 실행 시간을 보낼 수 없습니다.

분류에서Dev

쉘 스크립트 이메일을 통해 실행 시간을 보낼 수 없습니다.

분류에서Dev

쉘 스크립트 이메일을 통해 실행 시간을 보낼 수 없습니다.

분류에서Dev

쉘 스크립트 내부의 쉘 스크립트가 int 변수를 얻지 못합니다.

Related 관련 기사

  1. 1

    두 개의 독립적 인 쉘 스크립트간에 변수 공유

  2. 2

    한 쉘 스크립트에서 bash의 다른 스크립트로 변수 내보내기

  3. 3

    쉘 스크립트의 부울 변수

  4. 4

    쉘 스크립트보다 오래 사는 Bash 변수

  5. 5

    쉘 스크립트 내에서 경로 변수 내보내기

  6. 6

    쉘 스크립트에서 변수 '내보내기'

  7. 7

    쉘 스크립트에서 시간 범위의 텍스트 표현 변환

  8. 8

    쉘 스크립트로 변수의 내용을 인쇄 할 수 있습니까? (간접 참조)

  9. 9

    Perl 스크립트에서 쉘 스크립트로 변수를 내보내는 방법은 무엇입니까?

  10. 10

    쉘 스크립트 변수 및 루프

  11. 11

    간단한 쉘 스크립트, 너무 많은 인수

  12. 12

    텍스트 파일 데이터 구조의 일부 텍스트 조작 및 약간의 내용 변경을 수행하는 쉘 스크립트

  13. 13

    텍스트 파일 데이터 구조의 일부 텍스트 조작 및 약간의 내용 변경을 수행하는 쉘 스크립트

  14. 14

    쉘 스크립트 변수로 자신의 IP adresss 사용

  15. 15

    Bash 출력을 쉘 스크립트의 변수로 캡처

  16. 16

    쉘 스크립트의 변수 할당 규칙

  17. 17

    파워 쉘 스크립트의 매개 변수로 json 전달

  18. 18

    쉘 스크립트의 단위 승수 변환

  19. 19

    Linux 쉘 스크립트의 위치 매개 변수 양

  20. 20

    쉘 스크립트의 백분율 기호 및 환경 변수

  21. 21

    쉘 스크립트 내의 명령에 변수 삽입

  22. 22

    쉘 스크립트에서 변수 할당의 공백

  23. 23

    쉘 스크립트의 출력을 변수에 저장

  24. 24

    쉘 스크립트의 while 루프 내에서 변수 할당

  25. 25

    쉘 스크립트 "while"조건의 "-h"매개 변수

  26. 26

    쉘 스크립트 이메일을 통해 실행 시간을 보낼 수 없습니다.

  27. 27

    쉘 스크립트 이메일을 통해 실행 시간을 보낼 수 없습니다.

  28. 28

    쉘 스크립트 이메일을 통해 실행 시간을 보낼 수 없습니다.

  29. 29

    쉘 스크립트 내부의 쉘 스크립트가 int 변수를 얻지 못합니다.

뜨겁다태그

보관