반응형

bash 9

모든 출력을 Bash의 파일로 리디렉션

모든 출력을 Bash의 파일로 리디렉션 이 질문에는 이미 다음과 같은 답이 있습니다. Bash를 사용하여 표준 출력과 표준 오류를 모두 파일로 리디렉션하고 추가하는 방법 (8개 답변) 마감됨6년 전에. 리눅스에서 화면의 출력을 파일로 리디렉션하려면 다음 중 하나를 사용할 수 있습니다.>또는tee하지만 출력의 일부가 여전히 화면에 출력되고 파일에 기록되지 않는 이유를 잘 모르겠습니다. 모든 출력을 파일로 리디렉션할 수 있는 방법이 있습니까?그 부분은 stderr에 쓰여져 있습니다, 사용하세요.2>방향을 변경할 수 있습니다.예: foo > stdout.txt 2> stderr.txt 또는 동일한 파일을 원하는 경우: foo > allout.txt 2>&1 참고: (ba)sh에서 작동합니다. 셸에서 올바른 구..

IT 2023.07.12

파일의 시작 부분에 텍스트를 삽입하는 방법은 무엇입니까?

파일의 시작 부분에 텍스트를 삽입하는 방법은 무엇입니까? 지금까지 파일의 시작 부분에 줄을 추가하는 방법을 찾을 수 있었지만 제가 원하는 것은 아닙니다.예를 들어 설명하겠습니다. 파일 내용 some text at the beginning 결과 some text at the beginning 비슷하지만 새로운 라인을 만들고 싶지는 않습니다... 저는 이것을 하고 싶습니다.sed가능하면.sed다음 주소에서 작동할 수 있습니다. $ sed -i '1s/^/ /' file 이게 무슨 마법입니까?1s여기 모든 답이 보이십니까?회선 주소 지정! 추가하고 싶은 것처음 10줄에? $ sed -i '1,10s/^/ /' file 또는 다음을 사용할 수 있습니다. $ { echo -n ' '; cat file; } >fi..

IT 2023.05.28

Bash 셸 스크립트에서 모든 인수 전파

Bash 셸 스크립트에서 모든 인수 전파 저는 다른 스크립트를 호출하는 매우 간단한 스크립트를 작성하고 있으며, 현재 스크립트의 매개 변수를 실행 중인 스크립트로 전파해야 합니다. 예를 들어, 제 스크립트 이름은foo.sh및 호출bar.sh. foo.sh : bar $1 $2 $3 $4 각 매개 변수를 명시적으로 지정하지 않고 어떻게 이 작업을 수행하려면 어떻게 해야 합니까?사용하다"$@"평이한 것이 아니라$@매개 변수가 실제로 동일하게 전달되기를 원하는 경우. 관찰: $ cat no_quotes.sh #!/bin/bash echo_args.sh $@ $ cat quotes.sh #!/bin/bash echo_args.sh "$@" $ cat echo_args.sh #!/bin/bash echo Rece..

IT 2023.05.28

$0 및 BASH_SOURCE 중에서 선택

$0 및 BASH_SOURCE 중에서 선택 둘 중에서 어떻게 선택합니까?"$0"그리고."${BASH_SOURCE[0]}" GNU의 이 설명은 저에게 큰 도움이 되지 않았습니다. BASH_SOURCE An array variable whose members are the source filenames where the corresponding shell function names in the FUNCNAME array variable are defined. The shell function ${FUNCNAME[$i]} is defined in the file ${BASH_SOURCE[$i]} and called from ${BASH_SOURCE[$i+1]} 참고: POSIX 호환 솔루션은 다음 답변을 참조..

IT 2023.05.28

파일 인쇄, 첫 번째 X줄 건너뛰기, Bash로

파일 인쇄, 첫 번째 X줄 건너뛰기, Bash로 이 질문에는 이미 다음과 같은 답이 있습니다. bash/sed 스크립트를 사용하여 텍스트 파일의 첫 줄을 제거하려면 어떻게 해야 합니까? (19개 답변) 마감됨3년 전에. 예를 들어, 처음 1,000,000줄을 건너뛰어 인쇄하고 싶은 매우 긴 파일이 있습니다. 저는 캣맨 페이지를 살펴보았지만, 이것을 할 수 있는 옵션이 없었습니다.나는 이것을 할 명령어나 간단한 Bash 프로그램을 찾고 있습니다.꼬리가 필요할 겁니다.몇 가지 예: $ tail great-big-file.log 특정 수의 "첫 번째" 줄을 건너뛰어야 하는 경우 $ tail -n + < filename, excluding ..

IT 2023.05.18

Linux에서 포트가 열려 있는지 효율적으로 테스트합니까?

Linux에서 포트가 열려 있는지 효율적으로 테스트합니까? bash 스크립트에서 포트 여부를 신속하게 확인하는 방법은 무엇입니까?445서버에서 열려 있거나 열려 있습니다. 몇 가지 옵션을 시도해 보았지만 빠른 방법이 필요합니다. 1. lsof -i :445(초 단위 소요) 2. netstat -an |grep 445 |grep LISTEN(초 단위 소요) 3. telnet(돌아오지 않습니다) 4. nmap,netcat서버에서 사용할 수 없습니다. 먼저 열거하지 않고 그 다음에 후회하는 방법을 알면 좋을 것입니다.최근에 알게 된 놀라운 사실은 Bash가 기본적으로 파일 설명자로 tcp 연결을 지원한다는 것입니다.사용 방법: exec 6/dev/tcp/ip.addr.of.server/445 echo -e "..

IT 2023.05.18

디렉토리에 있는 모든 코드 행을 재귀적으로 계산하려면 어떻게 해야 합니까?

디렉토리에 있는 모든 코드 행을 재귀적으로 계산하려면 어떻게 해야 합니까? 우리는 PHP 애플리케이션을 가지고 있고 특정 디렉터리와 하위 디렉터리 아래의 모든 코드 행을 세고 싶습니다. 저희는 대충 파악하려고 하는 것이기 때문에 댓글을 무시할 필요가 없습니다. wc -l *.php 이 명령은 지정된 디렉터리에 대해 잘 작동하지만 하위 디렉터리는 무시합니다.다음과 같은 코멘트가 효과가 있을지도 모른다고 생각했는데, 74가 돌아오고 있어요. 절대 그렇지 않아요. find . -name '*.php' | wc -l 디렉토리에서 모든 파일을 동시에 입력하는 올바른 구문은 무엇입니까?시도: find . -name '*.php' | xargs wc -l 또는 (파일 이름에 공백과 같은 특수 문자가 포함된 경우) f..

IT 2023.05.08

백슬래시로 셸 명령을 시작하는 이유는 무엇입니까?

백슬래시로 셸 명령을 시작하는 이유는 무엇입니까? \curl -L https://get.rvm.io | bash -s stable 명령어가 다음으로 시작되는 이유\이곳은 제가 그것을 본 사이트입니다.alias curl='curl --some --default --options' 에 대한 별칭이 있는 경우curl그리고 당신은 그것을 사용하고 싶지 않을 것입니다. 앞에 백슬래시를 놓으면 별칭이 비활성화되고 컬 바이너리가 직접 실행됩니다. 이는 대화형 셸에서만 적용됩니다.별칭은 스크립트에서 적용되지 않으므로 스크립트에서 필요하지 않습니다.(Bourne/POSIX) 셸 사양에서는 명령어의 문자를 따옴표로 묶으면 대화형 셸에서 별칭 대체가 억제됩니다.백슬래시는 이를 위한 한 가지 방법이지만 인용할 수 있는 다른 ..

IT 2023.04.28

셸의 한 줄에 여러 명령어 실행

셸의 한 줄에 여러 명령어 실행 파일이 있다고 합니다./templates/apple그리고 저는 그것을 두 곳에 놓고 나서 원본을 제거하다 그렇게,/templates/apple에 카피됩니다./templates/used그리고./templates/inuse그 후 원본을 삭제하고 싶습니다. 이cp이것을 하는 가장 좋은 방법, 그 다음rm아니면 더 좋은 방법이 있을까요? 모든 것을 한 줄로 하고 싶기 때문에 다음과 같이 보일 수 있습니다. cp /templates/apple /templates/used | cp /templates/apple /templates/inuse | rm /templates/apple 이것이 올바른 구문입니까?사용하고 있습니다.|(파이프) 명령어의 출력을 다른 명령어로 유도합니다.당신이 ..

IT 2023.04.13
반응형