반응형

bash 18

bash를 사용하면 표준 오류를 다른 프로세스에 파이프로 연결하려면 어떻게 해야 합니까?

bash를 사용하면 표준 오류를 다른 프로세스에 파이프로 연결하려면 어떻게 해야 합니까? 공정의 표준 출력을 다른 공정 표준 입력으로 연결하는 방법은 잘 알려져 있습니다. proc1 | proc2 하지만 proc1의 표준 오류를 proc2에 보내고 표준 출력을 현재 위치로 유지하려면 어떻게 해야 합니까?당신은 생각할 것입니다.bash다음과 같은 명령을 사용할 수 있습니다. proc1 2| proc2 하지만, 아아, 아닙니다.이것을 할 수 있는 방법이 있습니까?또한 프로세스 대체도 있습니다.즉, 프로세스가 파일을 대체합니다. 보낼 수 있습니다.stderr다음과 같이 파일에 저장합니다. process1 2> file 그러나 다음과 같이 파일에 대한 프로세스를 대체할 수 있습니다. process1 2> >(p..

code 2023.04.28

ENV 변수 또는 기본값을 사용하여 Makefile 변수 정의

ENV 변수 또는 기본값을 사용하여 Makefile 변수 정의 저는 간단한 일을 하려고 합니다. TMPDIR ?= /tmp test: @echo $(TMPDIR) 실행 시 동작합니다. $ make test /tmp 다음을 실행해도 동작합니다. $ make test -e TMPDIR=~/tmp /home/user/tmp 다음 작업에도 사용할 수 있도록 하려면 어떻게 해야 합니까? $ TMPDIR=~/tmp make test /home/user/tmp 위의 코멘트를 팔로업하기 위해 예를 제시하겠습니다. T ?= foo all: : '$(T)' Make file을 다양한 방법으로 실행하면 예상대로 동작합니다.foo내가 설정하지 않는 한해서T명령줄 또는 환경 중 하나)에서 다음을 수행합니다. $ make : '..

code 2023.04.23

텍스트 파일 끝에 출력을 추가하는 방법

텍스트 파일 끝에 출력을 추가하는 방법 텍스트 파일 끝에 명령 출력을 추가하려면 어떻게 해야 합니까?사용하다>>대신>출력을 파일로 전송할 때: your_command >> file_to_append_to 한다면file_to_append_to존재하지 않습니다.생성됩니다. 예: $ echo "hello" > file $ echo "world" >> file $ cat file hello world 로.append파일 사용>> echo "hello world" >> read.txt cat read.txt echo "hello siva" >> read.txt cat read.txt 출력은 다음과 같습니다. hello world # from 1st echo command hello world # from 2nd ..

code 2023.04.23

n일보다 오래된 디렉토리를 삭제하는 셸 스크립트

n일보다 오래된 디렉토리를 삭제하는 셸 스크립트 다음과 같은 이름의 디렉토리가 있습니다. 2012-12-12 2012-10-12 2012-08-08 bash 셸 스크립트를 사용하여 10일 이상 경과한 디렉토리를 삭제하려면 어떻게 해야 합니까?이렇게 하면 다음과 같은 작업이 반복됩니다. find /path/to/base/dir/* -type d -ctime +10 -exec rm -rf {} \; 설명: find: 파일/디렉토리/링크 등을 검색하기 위한 unix 명령어. /path/to/base/dir: 검색을 시작할 디렉토리. -type d: 디렉토리만 검색 -ctime +10: 변경기간이 10일 이상 지난 것만 고려합니다. -exec ... \;: 이러한 결과가 검출될 때마다 에서 다음 명령을 수행합니..

code 2023.04.18

Bash 스크립트를 종료하기 전에 명령을 실행하는 방법

Bash 스크립트를 종료하기 전에 명령을 실행하는 방법 Bash 스크립트에 다음 항목이 있는 경우set -e스크립트 내의 명령어로 오류가 반환됩니다.스크립트가 종료되기 전에 청소를 하려면 어떻게 해야 합니까? 예를 들어 다음과 같습니다. #!/bin/bash set -e mkdir /tmp/foo # ... do stuff ... rm -r /tmp/foo 어떻게 해야 할까요?/tmp/foo의 명령어 중 하나가 삭제되어도... do stuff ...실패했을까요?다음은 트랩을 사용하는 예입니다. #!/bin/bash -e function cleanup { echo "Removing /tmp/foo" rm -r /tmp/foo } trap cleanup EXIT mkdir /tmp/foo asdffdsa #..

code 2023.04.13

Bash에서 난수를 생성하는 방법은 무엇입니까?

Bash에서 난수를 생성하는 방법은 무엇입니까? Bash 범위 내에서 난수를 생성하는 방법은 무엇입니까?사용. 간단한 셸 산술과 조합하여 사용할 수 있습니다.예를 들어 1~10(포함)의 난수를 생성하려면 다음 절차를 수행합니다. $ echo $((1 + $RANDOM % 10)) 3 는 실실음음음 the the the the음 。variables.c의 , 「」brand()이전 버전은 단순한 선형 생성기였습니다.버전 4.0 /bash1985년 논문의 인용문이 있는 발전기를 사용해요 그게 아마 가난수라는 의미일 거예요시뮬레이션에는 사용하지 않지만(암호화에는 사용하지 않지만) 기본적인 스크립트 작업에는 적합합니다. 한 일을 할 는 '난수'를 해도 됩니다./dev/random ★★★★★★★★★★★★★★★★★」/..

code 2023.04.13

Bash 명령에서 텍스트파일 내 검색 및 치환

Bash 명령에서 텍스트파일 내 검색 및 치환 문자열의 및을 가장 하는 를 들어, 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」 「」abc.XYZ 내/tmp/file.txt SSH를 통해 명령을 실행하기 위해 앱을 작성하고 IronPython을 사용하고 있지만 Unix에 대해서는 잘 모르기 때문에 무엇을 찾아야 할지 모르겠습니다. Bash는 명령줄 인터페이스일 뿐만 아니라 매우 강력한 스크립트 언어라고 들었습니다.그래서 이게 사실이라면 이런 행동을 할 수 있을 것 같아요. bash와 함께 할 수 있습니까?목표를 달성하기 위해 가장 간단한 (한 줄) 스크립트는 무엇입니까?가장 쉬운 방법은 sed(또는 perl)를 사용하는 것입니다. sed -i -e 's/abc/XYZ/g' /tmp/file...

code 2023.04.13

글로벌을 사용하지 않고 bash로 어레이를 반환하려면 어떻게 해야 합니까?

글로벌을 사용하지 않고 bash로 어레이를 반환하려면 어떻게 해야 합니까? 어레이를 작성하는 기능이 있어, 어레이를 발신자에게 반환하고 싶다. create_array() { local my_list=("a", "b", "c") echo "${my_list[@]}" } my_algorithm() { local result=$(create_array) } 이것으로는 확장된 문자열만 얻을 수 있습니다.글로벌한 기능을 사용하지 않고 my_list를 "반환"하려면 어떻게 해야 합니다.Bash 버전 4.3 이후에서는 nameref를 사용하여 발신자가 어레이 이름을 전달하고 착신자가 nameref를 사용하여 이름 있는 어레이를 간접적으로 입력할 수 있습니다. #!/usr/bin/env bash create_array..

code 2023.04.13
반응형