here-document

Bash 4: 일치하는 ")"를 찾는 동안 예기치 않은 EOF가 발생했습니다.
here-document

Bash 4: 일치하는 ")"를 찾는 동안 예기치 않은 EOF가 발생했습니다.

내 스크립트의 매우 단순화된 버전입니다. #!/usr/bin/env bash example="$(bash -rs <<'BASH' -- 'This has been executed in restricted shell' echo "$1" BASH )" echo "$example" Bash 버전 5.1.4를 사용하는 시스템에서는 문제 없이 실행됩니다. 그러나 bash 버전 4.0.44를 사용하는 다른 시스템에서는 오류가 발생합니다. line 2: unexpected EOF while look...

Admin

bash 스크립트 외부에서 인쇄된 파일에 변수를 전달하는 방법은 무엇입니까?
here-document

bash 스크립트 외부에서 인쇄된 파일에 변수를 전달하는 방법은 무엇입니까?

다음을 포함하는 변수 v="c d e f g"와 파일이 있다고 가정해 보겠습니다. line1 $v line3 여기 이 문서에서 하는 것처럼 2번째 줄의 변수 내용을 사용하여 이 파일을 인쇄하는 bash 스크립트를 얻으려면 어떻게 해야 합니까? #!/bin/bash v="c d e f g" cat << EOF line1 $v line3 EOF 산출: line1 c d e f g line3 ...

Admin

"여기에 문서화"를 한 줄 명령으로 사용하시겠습니까?
here-document

"여기에 문서화"를 한 줄 명령으로 사용하시겠습니까?

설치하려는 일부 소프트웨어에서 체크섬을 실행하는 명령은 다음과 같습니다. echo "85762db0edc00ce19a2cd5496d1627903e6198ad850bbbdefb2ceaa46bd20cbd install.sh" | sha256sum -c sha256sum하지만 명령과 함께 사용하고 싶습니다첫 번째. 따라서 우리는 heredoc을 사용하여 다음을 달성합니다. sha256sum -c << EOF 85762db0edc00ce19a2cd5496d1627903e6198ad850bbbde...

Admin

SSH 스크립트를 통해 디렉토리 테스트 - 아무 일도 일어나지 않습니다
here-document

SSH 스크립트를 통해 디렉토리 테스트 - 아무 일도 일어나지 않습니다

저는 일반적으로 여기 문서를 사용하여 이와 같은 서버 스크립트를 실행합니다. 그러나 디렉토리가 존재하는지 테스트하면 테스트가 실패하더라도 스크립트가 계속됩니다. 이유는 무엇입니까? ssh $user@$ip /bin/bash <<SCRIPT if [[ ! -d ~/.debfiles ]];then echo "Error: debfiles doesnt exist" 2> ~/error.txt exit 1 fi SCRIPT 나는 이것을 내 로컬 컴퓨터에서 실행하고 있으며 문제의 서버...

Admin

ssh 명령으로 heredoc을 사용하는 방법
here-document

ssh 명령으로 heredoc을 사용하는 방법

SSH를 통해 원격 컴퓨터에 연결하고 일련의 명령을 실행하는 bash 스크립트가 있습니다. 외부 스크립트의 heredoc이 올바르게 정렬되지 않은 것 같고 계속 오류가 발생합니다. -bash: line 49: warning: here-document at line 6 delimited by end-of-file (wanted `MOD') 스크립트는 다음과 같습니다. ssh -i "$master_private_key" "$master_username@$master_public_ip" << ...

Admin

스크립트 파일을 구분된 문서로 sed에 전달하는 방법은 무엇입니까?
here-document

스크립트 파일을 구분된 문서로 sed에 전달하는 방법은 무엇입니까?

그러면 "a"가 "A"로 변환됩니다. sed 's/a/A/g' <(echo "foobar") foobAr 이는 각 모음을 대문자로 시작하는 데 필요한 명령을 제공합니다. $ cat << EOF s/a/A/g s/e/E/g s/i/I/g s/o/O/g s/u/U/g EOF 내가 하고 싶은 것은 각 모음이 대문자로 표시되도록 첫 번째 예제를 확장하고 두 번째 예제에 표시된 대로 여기 문서를 사용하는 것입니다. 어떤 제안이 있으십니까? 남성: sed [옵션]... {스크립트만, 다른 ...

Admin

HEREDOC을 사용하여 sudo를 실행할 수 있습니까?
here-document

HEREDOC을 사용하여 sudo를 실행할 수 있습니까?

편집: @Kusalananda의 답변 이후 수정된 예입니다. 내 모든 상황은 더 복잡했습니다. 여러 명령과 변수 정의가 필요합니다) su루트가 아니고 비밀번호를 입력하고 싶지 않아서 사용할 수 없습니다 동료의 스크립트에서 su 코드를 모방하려고 했습니다. # script runs as root su - oracle -- "export DATA=$val; cat <<CHK test CHK" Password: test 다음은 작동하지 않습니다(오류 출력). $ export val=534 $...

Admin

Podman을 실행할 수 있도록 heredoc을 제공하는 방법은 무엇입니까?
here-document

Podman을 실행할 수 있도록 heredoc을 제공하는 방법은 무엇입니까?

을 실행할 때 buildah주로 heredoc을 사용합니다. ctr=$(buildah from alpine:3); buildah run $ctr sh -- <<EOF apk update; apk add git; EOF buildah commit $ctr heredoc_demo; 그런데 Podman으로 동일한 작업을 하려고 하면 다음과 같은 오류가 발생합니다. 경고 입력 장치가 TTY가 아닙니다. --tty 및 --interactive 플래그가 올바르게 작동하지 않을 수 있음 ...

Admin

여기 문서의 결과를 어떻게 연결할 수 있나요?
here-document

여기 문서의 결과를 어떻게 연결할 수 있나요?

이 스크립트가 있습니다. while read $item; do # Some bash logic here done <<< "$({ cat /path/to/some/file; echo; })" 이제 나는 또한 일부 디렉토리의 이름을 찾아 find루프와 함께 cat전달하고 싶습니다 while. 즉, 나는 다음을 원한다: cat하나의 문서 find일부 디렉토리 연결 결과 while여기에 문서로 루프 에 입력하세요. 나는이 시점에서 막혔다. while논리를 반복하는 것은 좋은 접근...

Admin

여기에서 <<를 사용하여 문자열 형식을 지정하는 일반적인 방법 대신 제한된 문자열(<<-)을 사용하기로 선택하는 경우는 언제입니까?
here-document

여기에서 <<를 사용하여 문자열 형식을 지정하는 일반적인 방법 대신 제한된 문자열(<<-)을 사용하기로 선택하는 경우는 언제입니까?

The - option to mark a here document limit string (<<-LimitString) will suppress leading tabs (but not spaces) in the output. "here" 메서드를 사용하여 명령을 처리할 때 누군가가 선행 탭을 제거하려는 이유가 무엇인지 궁금합니다. 출력의 가독성에 관한 것입니까, 아니면 출력을 다른 것에 전달하려는 경우 출력을 정리하는 것에 관한 것입니까? ...

Admin

구분된 문서 내에서 실행되는 스크립트의 종료 코드를 캡처할 수 없습니다.
here-document

구분된 문서 내에서 실행되는 스크립트의 종료 코드를 캡처할 수 없습니다.

Docker 컨테이너의 Heredoc에서 실행 중인 스크립트의 종료 코드를 캡처하려고 하다가 막혔습니다. python:3.7로드된 Docker 컨테이너를 시작 하고 그 안에서 heredoc를 실행하기 위해 이 명령을 실행한다고 가정해 보겠습니다 . docker run -v $PWD:/workspace -w /workspace --rm -i python:3.7 <<-EOF ./script.sh echo $? EOF script.sh다음과 같다고 가정 해 보겠습니다 . echo...

Admin

HEREDOC을 사용하여 쉘 스크립트 내에서 다른 사용자와 배열을 반복하면 작동하지 않습니다.
here-document

HEREDOC을 사용하여 쉘 스크립트 내에서 다른 사용자와 배열을 반복하면 작동하지 않습니다.

스크립트를 실행할 때 여러 사용자 내에서 일련의 작업을 수행하고 싶어서 HEREDOC을 사용하여 이러한 작업을 수행하고 있지만 어떤 대안을 시도해도 HEREDOC 내부 루프에서 내 값을 참조할 수 없습니다. . 이 경우 첫 번째 줄을 인쇄하고 종료됩니다. #!/bin/bash func () { test=("$@") sudo su - someuser <<- EOF echo "${test[*]}" for i in "${test[@]}" ; do echo "$i" ...

Admin

이 문서에서 Bash 스크립트 논리를 사용할 수 있습니까?
here-document

이 문서에서 Bash 스크립트 논리를 사용할 수 있습니까?

SSH를 통해 액세스하고 .conf 파일의 키-값 쌍 구성 매개변수가 설정되어 있는지 확인해야 하는 50개의 Linux 서버 목록이 있습니다. 키-값 쌍이 존재하는지 확인해야 합니다. 키-값 쌍이 존재하는 경우 부울 값을 FALSE로 수정해야 합니다. 키-값 쌍이 존재하지 않는 경우 FALSE로 설정된 값으로 키-값 쌍을 생성해야 합니다. SSH 부분에는 문제가 없으며 여기 문서를 사용하여 원격 서버에서 명령 목록을 실행합니다. 그러나 이 특정 솔루션에는 키-값 쌍을 확인하고 결과에 따라 작업을 수행...

Admin

이 루프가 빈 세트에서 실행되는 이유는 무엇입니까?
here-document

이 루프가 빈 세트에서 실행되는 이유는 무엇입니까?

빈 디렉터리를 만들고 다음 코드를 실행합니다. find /empty_directory -mindepth 1 -maxdepth 1 -type d | while read dir; do echo "Simple find: $dir" done printf '%s\n' '-----' # Safer than echo ----- while read dir; do echo "HereDoc find: $dir" done <<< "$(find /em...

Admin