control-flow

삭제되고 다시 생성되는 로그 파일을 지속적으로 추적하는 방법은 무엇입니까?
control-flow

삭제되고 다시 생성되는 로그 파일을 지속적으로 추적하는 방법은 무엇입니까?

프로그램이 실행될 때마다 삭제되고 다시 생성되는 로그 파일에서 정보를 추출해야 합니다. 파일이 존재한다는 것을 (다시) 감지한 후, tail정규 표현식과 함께 사용하고 싶습니다 . 정규식은 여러 번 일치하지만 결과는 항상 동일합니다. 한 번만 인쇄한 다음 파일이 다시 생성되면 조사식을 반환하고 싶습니다. 파일 생성을 감지하는 방법을 살펴보았습니다. 패스하는 것도 하나의 방법inotifywait, 그러나 이를 위해서는 별도의 패키지를 설치해야 합니다. stderr아마도 더 간단한 접근 방식은 후행 파일...

Admin

bash 스크립트의 &&와 개행 문자가 동일합니까?
control-flow

bash 스크립트의 &&와 개행 문자가 동일합니까?

bash 스크립트에서 개행 문자가 기능적으로 100% 동일한지 궁금합니다 &&. 예를 들어: #!/bin/bash 7z x "${file}" mv "${file}" "${new_file}" 그리고 #!/bin/bash 7z x "${file}" && mv "${file}" "${new_file}" GNU bash, 버전 5.1.16(1)-릴리스(x86_64-pc-linux-gnu) ...

Admin

종료되지 않은 이전 명령이 특정 문자열을 인쇄한 후에 명령을 실행하는 방법은 무엇입니까?
control-flow

종료되지 않은 이전 명령이 특정 문자열을 인쇄한 후에 명령을 실행하는 방법은 무엇입니까?

commandA다음 인쇄를 수행하고 싶습니다 . line1 line2 line3 started successfully line4 ... ... 해당 줄이 인쇄 되면 started successfully다른 명령을 시작하고 싶습니다(그리고 출력을 다중화하여 둘 다 터미널에 인쇄되도록 할 수도 있습니다). Bash에서 어떻게 이를 달성할 수 있나요? ...

Admin

애플리케이션 실행 로직의 오류를 감지하는 도구
control-flow

애플리케이션 실행 로직의 오류를 감지하는 도구

애플리케이션 실행 로직의 오류를 감지하고 싶습니다. 예를 들어: free()반송 주소로 전화하는 것을 잊어버렸습니다.malloc() 반환된 파일 핸들이 닫히지 않았습니다.open() 잘못된 플래그가 전달되었습니다.open() 전달된 파일 핸들이 잘못되었습니다.poll() write()쓰기용으로 열려 있지 않은 fd 호출 open()예를 들어 open("/etc/fstab", 4)에 잘못된 플래그를 전달합니다. close()잘못된 fd 호출 중 ... 수백 개가 더 있는 것 같아요. 아마도 도구는 ...

Admin

만약에!(...) 그리고;if[ $? -eq 0] (...)
control-flow

만약에!(...) 그리고;if[ $? -eq 0] (...)

나는 쉘 스크립트를 작성 중이고 다음을 통해 내 작업을 확인하기로 결정했습니다.shellcheck.net. 내 스크립트에서 다음 두 줄을 사용하여 기능적으로 동일한 동작을 얻을 수 있었습니다. findmnt /dev/sda1 >/dev/null ; if [ $? -eq 0 ]; then echo 1; else echo 0; fi 그리고 if ! findmnt /dev/sda1 >/dev/null; then echo 0; else echo 1; fi 그러나 쉘체크던지다: SC2181: ...

Admin

코드 저장소에서 원격 스크립트를 실행하면 무한 루프가 발생합니다.
control-flow

코드 저장소에서 원격 스크립트를 실행하면 무한 루프가 발생합니다.

나는 GitHub에서 원격 Bash 스크립트의 원시 버전을 실행하기 위해 종종 다음 패턴을 사용합니다. wget -O - https://raw.githubusercontent.com/<username>/<project>/<branch>/<path>/<file> | bash 일반적으로 문제 없이 수행할 수 있지만 특정 스크립트에 다음 코드를 추가했기 때문에 무한 루프가 발생했습니다. echo(GitHub에서 터미널에 복사하여 붙여넣고 직접 실행했는...

Admin

사용자가 "less"를 종료할 때까지 스크립트 실행을 일시 중지합니다.
control-flow

사용자가 "less"를 종료할 때까지 스크립트 실행을 일시 중지합니다.

표적: less콘텐츠(변수에서)를 입력한 다음 사용자에게 콘텐츠를 파일(예: .recovered_object) 에 저장해야 하는지 묻습니다.그 후에야사용자가 로그아웃합니다 less. 내 스크립트에서 발췌한 내용은 다음과 같습니다. ... # Show each blob until one is chosen counter=1 while IFS='' read sha; do printf "Showing blob %d of %d" "$counter" "$BLOB_COUNT" ...

Admin

STDERR로 인쇄하기 전에 파일을 수정하고 쓰는 방법
control-flow

STDERR로 인쇄하기 전에 파일을 수정하고 쓰는 방법

stderrGitHub Actions를 통해 자동 풀 요청 검사를 수행하고 있으며 작업 간에 명령 출력의 일부 데이터를 유지하고 싶습니다 . stderr이를 위해 나는인공 생산하지만 그 전에 일부 제어 문자도 제거해야 합니다 sed. 그렇지 않으면 다음과 같은 결과가 발생합니다. \x1b[31mFound 344 errors!\x1b[39;49m 그런 다음 주 명령이 동일한 종료 코드를 반환하여 검사에 실패하고 풀 요청이 병합되는 것을 방지하기를 원합니다. 아마도 수행해야 할 작업의 하위 집합을 처리...

Admin

Bash 스크립트에서 코드 블록을 조기에 종료하는 방법(Perl의 "마지막" 지시문과 유사)
control-flow

Bash 스크립트에서 코드 블록을 조기에 종료하는 방법(Perl의 "마지막" 지시문과 유사)

내가 정말 좋아하는 Perl의 기능 중 하나는 루프 제어 키워드의 일반화입니다.어느중괄호로 구분된 어휘 덩어리 1 . 예를 들어, last다음 장난감 스크립트에 표시된 것처럼 Perl의 명령을 사용하여 해당 블록을 종료할 수 있습니다. #!/usr/bin/env perl use strict; my $value = $ARGV[0] || 0; my $overall_status = 'failed'; { $value > 0 and print "$value > 0\n" or last; $...

Admin

루프에서 호출된 함수에서 "계속"을 반환합니다.
control-flow

루프에서 호출된 함수에서 "계속"을 반환합니다.

저는 현재 서서히 통제 불능 상태가 되어가는 스크립트를 리팩토링하고 있습니다. 반복을 기능으로 분해하려고합니다. 그러나 루프에서 호출되는 반복 테스트가 있고 이 테스트가 continue. 쉘체크 라고 SC2104: In functions, use `return` instead of `continue`. Shellcheck 위키에서는 이렇게 하지 말라고 나와 있습니다. 하지만 방법이 있나요? 아래는 예입니다: #!/bin/sh AFunction () { if [[ "${RED}" -lt 3 ...

Admin

드라이버 모듈의 코드 흐름을 어떻게 알 수 있나요?
control-flow

드라이버 모듈의 코드 흐름을 어떻게 알 수 있나요?

저는 Linux 장치 드라이버 작업을 하고 있습니다. 주요 초점은 Wi-Fi 드라이버입니다. 장치를 연결할 때 코드가 어떻게 흐르는지 알고 싶습니다. 어쩌면 printk각 함수에 한 줄을 추가하는 등의 작업을 수행할 수도 있습니다. 내가 가지고 있는 장치는 드라이버에서 지원됩니다 ath9k_htc. 학습 목적으로 드라이버 코드를 일부 변경하고 싶습니다. Linux에서 드라이버 모듈의 코드 흐름을 이해하는 정확하거나 일반적인 방법은 무엇입니까? ...

Admin

Zsh: Vared 내장 시간 초과
control-flow

Zsh: Vared 내장 시간 초과

나는 while 루프를 사용하고 있습니다.vared사용자에게 입력하라는 메시지를 표시합니다. 시간 초과를 설정하고 기본 변수를 실행하고 일정 시간이 지난 후에도 사용자 입력이 없으면 프롬프트로 다시 돌아가는 방법을 찾고 있습니다. 읽기 명령과 해당 시간 초과 매개 변수에 대해 알고 있지만 이것이 통과 가능합니까 vared? vared또한 프롬프트에 인쇄되지 않도록 기본값을 설정하는 방법이 있습니까 ? local command while : do echo "Enter a comma...

Admin

파이프라인 중간에 있는 행 수를 계산하는 방법
control-flow

파이프라인 중간에 있는 행 수를 계산하는 방법

파이프라인의 행 수를 계산한 다음 결과에 따라 파이프라인을 계속하고 싶습니다. 나는 노력했다 x=$(printf 'faa\nbor\nbaz\n' \ | tee /dev/stderr | wc -l) 2>&1 \ | if [[ $x -ge 2 ]]; then grep a else grep b fi 하지만 전혀 필터링하지 않습니다("a"도 "b"도 아님). 최소한 다음은 예상대로 작동하기 때문에 이것은 매우 예상치 못한 일입니다. printf...

Admin

터미널 명령 템플릿 루프에서 && 연산자를 사용할 수 있습니까?
control-flow

터미널 명령 템플릿 루프에서 && 연산자를 사용할 수 있습니까?

더 읽기 쉽고 유사한 명령 목록을 더 명확하게 만들고 싶어서 약간의 터미널 루프를 만들었습니다. for what in \ cache \ thumbs \ ; do my template $what:clear; done 잘 작동하지만 my template cache:clear && my template thumbs:clear 쉽고 명확하게 배치할 수 있는 방법이 없을까요?&&이와 같은 루프로 작업하면마지막 명령 종료 코드를 확인하기 위해 루프 본문에 if/...

Admin