here-document

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

여기 문자열에 오류가 있을 때 스크립트가 실패하도록 하려면 어떻게 해야 합니까?
here-document

여기 문자열에 오류가 있을 때 스크립트가 실패하도록 하려면 어떻게 해야 합니까?

다음과 비슷한 스크립트가 있습니다. #!/bin/bash set -euo pipefail IFS=$'\n\t' while read -r l; do echo "${l}" done <<< "$(cat input.txt)" echo Success 이 명령은 cat input.txt내 문제를 단순화하기 위한 예일 뿐입니다. input.txt덕분에 스크립트가 존재하지 않으면 즉시 종료될 것으로 예상했습니다 set -euo pipefail. 그러나 그렇지 않은 경우 스크립트는 다음 ...

Admin

yaml gitlab ci의 bash에서 변수 손실
here-document

yaml gitlab ci의 bash에서 변수 손실

도움이 필요하다 bash와 gitlab을 배우고 있어요 작동시킬 수 없습니다 gitlab 파이프라인.gitlab-ci.yml variables: var1: test1 var2: test2 stages: - build build-job: stage: build script: - | bash -s << EOF #!/bin/bash test1 () { echo $var1 test3=$v...

Admin

파일에 저장하지 않고 콘솔 세션에서 쉘 스크립트 실행
here-document

파일에 저장하지 않고 콘솔 세션에서 쉘 스크립트 실행

Linux의 쉘 스크립트에 관해 질문이 있습니다. 나는 이것을 실행하려고합니다 : $ sh << EOF #!/bin/sh function test { echo test echo test2 } test EOF 결과 : test test2 하지만 파일에 저장하지 않고 매개변수를 사용하여 스크립트를 실행하려면 어떻게 해야 합니까? $ sh $1 test1 test2 << EOF #!/bin/sh function test { echo $2 echo $3 } test E...

Admin

함수 호출에서 별칭 끝에 heredoc(<<)를 추가합니다.
here-document

함수 호출에서 별칭 끝에 heredoc(<<)를 추가합니다.

데이터베이스에 대한 psql 연결 문자열인 별칭이 있습니다. 별칭이 다음과 같다고 가정해 보겠습니다. alias GQQ='psql "host=$host user=$redshift_uname dbname=$redshift_dbname port=$port pass word=$redshift_pwd"' 이 별칭은 데이터베이스에 연결할 수 있도록 존재하지만 데이터베이스에 간단한 쿼리를 보내는 함수에서 이를 호출하고 싶습니다. 일반 터미널에서 First: GQQ <<EOFSecond: <...

Admin