명령에 따옴표가 포함 된 Bash 변수 (문자열)를 어떻게 사용합니까?

다중 다각형

실패하고 단순화 된 예 :

FLAGS='--archive --exclude="foo bar.txt"'
rsync $FLAGS dir1 dir2

명령이 다음과 같이 따옴표를 포함해야합니다.

rsync --archive --exclude="foo bar.txt" dir1 dir2
고든 데이비슨

짧은 대답 : BashFAQ # 50 참조 ( "변수에 명령을 입력하려고하지만 복잡한 경우는 항상 실패합니다!").

긴 대답 : 명령 (또는 명령의 일부)을 변수에 넣은 다음 그대로 되 돌리는 것은 복잡합니다. 쉘이 명령 줄에서 변수를 확장 할 때 변수가 큰 따옴표 안에 있으면 구문 분석되지 않습니다. 따옴표 안에 있지 않은 경우 공백은 인수 구분으로 구문 분석되지만 따옴표와 이스케이프는 구문 분석되지 않습니다. 두 경우 모두 변수 값에 따옴표를 넣어도 유용하지 않습니다.

일반적으로 이러한 종류의 작업을 수행하는 가장 좋은 방법은 간단한 텍스트 변수 대신 배열을 사용하는 것입니다.

FLAGS=(--archive --exclude="foo bar.txt")
rsync "${FLAGS[@]}" dir1 dir2

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

bash에서 따옴표가 포함 된 변수를 사용하여 명령을 실행하는 방법은 무엇입니까?

분류에서Dev

따옴표가 포함 된 문자열을 변수에 할당

분류에서Dev

이스케이프 된 큰 따옴표에 변수를 어떻게 포함시킬까요?

분류에서Dev

bash에서 문자열이 포함 된 마지막 명령을 어떻게 실행합니까?

분류에서Dev

함수가 포함 된 문자열을 어떻게 에코합니까?

분류에서Dev

작은 따옴표가 포함 된 명령의 별칭을 만들려면 어떻게합니까?

분류에서Dev

따옴표가 포함 된 텍스트 문자열을 대체하는 수식을 어떻게 작성합니까?

분류에서Dev

cmd 명령에 변수를 어떻게 포함합니까?

분류에서Dev

따옴표가 포함 된 인수와 함께 watch 명령 사용

분류에서Dev

따옴표가 포함 된 인수와 함께 watch 명령 사용

분류에서Dev

정규식 패턴 안에 대괄호가 포함 된 문자열 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

따옴표가 포함 된 명령을 실행할 때 Bash 스크립트가 실패합니다 (소스 매개 변수).

분류에서Dev

Thunderbird를 사용하여 이름에 쉼표 (,)가 포함 된 파일을 명령 줄에서 어떻게 첨부 할 수 있습니까?

분류에서Dev

Z-shell (zsh) 스크립트 명령에서 공백이 포함 된 값에 변수를 어떻게 사용합니까?

분류에서Dev

따옴표를 포함하고 Bash에서 변수로 지정된 파일 이름을 인용하십시오.

분류에서Dev

작은 따옴표가 포함 된 문자열에 SysUtils.WrapText () 사용

분류에서Dev

문자열에 따옴표가 포함 된 경우 바꾸기 사용

분류에서Dev

혼합 문자열에 따옴표가 포함 된 CSV 구문 분석

분류에서Dev

bash에서 변수가 포함 된 줄을 제거하려면 어떻게해야합니까?

분류에서Dev

Windows DIR 명령을 사용하여 숫자 범위가 포함 된 파일을 어떻게 검색합니까?

분류에서Dev

작은 따옴표가 포함 된 데이터베이스 필드를 어떻게 쿼리합니까?

분류에서Dev

Regex를 사용하여 문자열에 지정된 문자 집합 (순서 무시)이 포함되어 있는지 어떻게 확인할 수 있습니까?

분류에서Dev

Bash에서 인용 된 변수로 중첩 된 작은 따옴표와 큰 따옴표가 많은 명령을 실행하는 방법

분류에서Dev

bash 쉘 스크립트는 따옴표가 포함 된 문자열에서 하위 문자열을 가져옵니다.

분류에서Dev

따옴표가 포함 된 변수를 허용하지 않도록 배치 스크립트에 지시

분류에서Dev

ASCII가 아닌 문자와 공백이있는 파일 경로를 포함하는 bash 변수는 명령, cat, exiftool 등에 대한 입력으로 어떻게 사용됩니까?

분류에서Dev

이 Perl 솔루션을 수정하여 포함 된 큰 따옴표를 작은 따옴표로 대체하려면 어떻게해야합니까?

분류에서Dev

이 Perl 솔루션을 수정하여 포함 된 큰 따옴표를 작은 따옴표로 대체하려면 어떻게해야합니까?

분류에서Dev

ksh 명령 대체에 변수를 어떻게 포함합니까?

Related 관련 기사

  1. 1

    bash에서 따옴표가 포함 된 변수를 사용하여 명령을 실행하는 방법은 무엇입니까?

  2. 2

    따옴표가 포함 된 문자열을 변수에 할당

  3. 3

    이스케이프 된 큰 따옴표에 변수를 어떻게 포함시킬까요?

  4. 4

    bash에서 문자열이 포함 된 마지막 명령을 어떻게 실행합니까?

  5. 5

    함수가 포함 된 문자열을 어떻게 에코합니까?

  6. 6

    작은 따옴표가 포함 된 명령의 별칭을 만들려면 어떻게합니까?

  7. 7

    따옴표가 포함 된 텍스트 문자열을 대체하는 수식을 어떻게 작성합니까?

  8. 8

    cmd 명령에 변수를 어떻게 포함합니까?

  9. 9

    따옴표가 포함 된 인수와 함께 watch 명령 사용

  10. 10

    따옴표가 포함 된 인수와 함께 watch 명령 사용

  11. 11

    정규식 패턴 안에 대괄호가 포함 된 문자열 변수를 어떻게 사용할 수 있습니까?

  12. 12

    따옴표가 포함 된 명령을 실행할 때 Bash 스크립트가 실패합니다 (소스 매개 변수).

  13. 13

    Thunderbird를 사용하여 이름에 쉼표 (,)가 포함 된 파일을 명령 줄에서 어떻게 첨부 할 수 있습니까?

  14. 14

    Z-shell (zsh) 스크립트 명령에서 공백이 포함 된 값에 변수를 어떻게 사용합니까?

  15. 15

    따옴표를 포함하고 Bash에서 변수로 지정된 파일 이름을 인용하십시오.

  16. 16

    작은 따옴표가 포함 된 문자열에 SysUtils.WrapText () 사용

  17. 17

    문자열에 따옴표가 포함 된 경우 바꾸기 사용

  18. 18

    혼합 문자열에 따옴표가 포함 된 CSV 구문 분석

  19. 19

    bash에서 변수가 포함 된 줄을 제거하려면 어떻게해야합니까?

  20. 20

    Windows DIR 명령을 사용하여 숫자 범위가 포함 된 파일을 어떻게 검색합니까?

  21. 21

    작은 따옴표가 포함 된 데이터베이스 필드를 어떻게 쿼리합니까?

  22. 22

    Regex를 사용하여 문자열에 지정된 문자 집합 (순서 무시)이 포함되어 있는지 어떻게 확인할 수 있습니까?

  23. 23

    Bash에서 인용 된 변수로 중첩 된 작은 따옴표와 큰 따옴표가 많은 명령을 실행하는 방법

  24. 24

    bash 쉘 스크립트는 따옴표가 포함 된 문자열에서 하위 문자열을 가져옵니다.

  25. 25

    따옴표가 포함 된 변수를 허용하지 않도록 배치 스크립트에 지시

  26. 26

    ASCII가 아닌 문자와 공백이있는 파일 경로를 포함하는 bash 변수는 명령, cat, exiftool 등에 대한 입력으로 어떻게 사용됩니까?

  27. 27

    이 Perl 솔루션을 수정하여 포함 된 큰 따옴표를 작은 따옴표로 대체하려면 어떻게해야합니까?

  28. 28

    이 Perl 솔루션을 수정하여 포함 된 큰 따옴표를 작은 따옴표로 대체하려면 어떻게해야합니까?

  29. 29

    ksh 명령 대체에 변수를 어떻게 포함합니까?

뜨겁다태그

보관