반응형

bash 12

Bash에서 문자열 배열을 반복하시겠습니까?

Bash에서 문자열 배열을 반복하시겠습니까? 15개의 문자열을 루프하는 스크립트를 작성하고 싶습니다(어레이가 가능합니까?)그게 가능한가요? 다음과 같은 것: for databaseName in listOfNames then # Do something end 다음과 같이 사용할 수 있습니다. ## declare an array variable declare -a arr=("element1" "element2" "element3") ## now loop through the above array for i in "${arr[@]}" do echo "$i" # or do whatever with individual element of the array done # You can access them using..

sourcecode 2023.05.24

jq 파일의 텍스트를 직접 바꿉니다(예: sed -i).

jq 파일의 텍스트를 직접 바꿉니다(예: sed -i). 나는 어떤 조건으로 업데이트가 필요한 json 파일을 가지고 있습니다. 샘플 json { "Actions" : [ { "value" : "1", "properties" : { "name" : "abc", "age" : "2", "other ": "test1" } }, { "value" : "2", "properties" : { "name" : "def", "age" : "3", "other" : "test2" } } ] } 아래와 같이 Jq를 활용하여 값과 업데이트를 매칭하는 스크립트를 작성하고 있습니다. cat sample.json | jq '.Actions[] | select (.properties.age == "3") .properties.o..

sourcecode 2023.05.04

bash 셸 스크립트(unix)에서 .profile을 다시 로드하시겠습니까?

bash 셸 스크립트(unix)에서 .profile을 다시 로드하시겠습니까? 저는 셸 스크립팅을 처음 접하게 되었고, 도전에 직면하게 되었습니다.다음을 수행하면 ".profile" 파일을 다시 로드할 수 있습니다. . .profile 하지만 제가 쓰고 있는 바시 스크립트에서 동일한 것을 실행하려고 하지만 작동하지 않습니다.아이디어 있어요?제가 설명할 수 있는 다른 것이 있습니까? 감사해요.현재 셸을 다시 로드하려면 다음을 시도합니다. source ~/.profile 사용해 보십시오. cd source .bash_profile ~/.profile 파일을 다시 로드/소스할 때 몇 가지 문제가 발생합니다.[Ubuntu Linux를 가리킵니다. 경우에 따라 명령의 세부 정보가 다를 수 있습니다.] 터미널에서 직..

sourcecode 2023.04.29

홈브루 패키지가 설치되어 있는지 감지

홈브루 패키지가 설치되어 있는지 감지 시스템에 여러 개의 홈브루 패키지가 설치되어 있는지 여부를 감지하기 위해 셸 스크립트를 작성하려고 합니다.이를 위해 brew 명령어를 사용할 수 있는 방법이 있습니까? 의 종료 코드를 사용해 보았습니다.brew install --dry-run. 단, 패키지가 없는 경우 패키지가 작성됩니다.사용할 수 있습니다. brew ls --versions myformula 각 공식의 설치된 버전을 출력합니다.수식이 인스톨 되어 있지 않은 경우, 출력은 비어 있습니다. 최신 버전의 홈브루를 사용하는 경우brew update(Slaven에게 감사)을 실행하면 됩니다. if brew ls --versions myformula > /dev/null; then # The package i..

sourcecode 2023.04.19

Bash에서 변수가 비어 있는지 확인하는 방법

Bash에서 변수가 비어 있는지 확인하는 방법 Bash에서 변수가 비어 있는지 확인하려면 어떻게 해야 합니까?Bash에서는 적어도 다음 명령어는 $var가 비어 있는지 테스트합니다. if [[ -z "$var" ]]; then # $var is empty, do what you want fi 명령어man test네 친구잖아Bash 가정: var="" if [ -n "$var" ]; then echo "not empty" else echo "empty" fi 나도 본 적이 있다. if [ "x$variable" = "x" ]; then ... 확실히 매우 견고하고 셸에 의존하지 않습니다. 또한 "빈"과 "설정 해제" 사이에는 차이가 있습니다.Bash 셸 스크립트에 문자열이 정의되어 있지 않은지 확인하는 방..

sourcecode 2023.04.19

예기치 않은 bash 종료에서 생성된 임시 파일을 제거하는 중

예기치 않은 bash 종료에서 생성된 임시 파일을 제거하는 중 scriptbash의 임시 파일을 만들고 .처리 종료 시에 삭제하고 있습니다만, 스크립트가 장시간 실행되고 있기 때문에 실행 중에 종료하거나 단순히 CTRL+C를 실행해도 임시 파일은 삭제되지 않습니다. 실행이 종료되기 전에 이러한 이벤트를 포착하여 파일을 정리할 수 있는 방법이 있습니까? 또, 그 임시 파일의 이름이나 장소에 관한 베스트 프랙티스가 있습니까? 현재 다음 중 어느 쪽을 사용할지 잘 모르겠습니다. TMP1=`mktemp -p /tmp` TMP2=`mktemp -p /tmp` ... 그리고. TMP1=/tmp/`basename $0`1.$$ TMP2=/tmp/`basename $0`2.$$ ... 아니면 더 나은 해결책이 있을까요..

sourcecode 2023.04.19

간접 확장이란 무엇입니까?${!var*}의 의미는 무엇입니까?

간접 확장이란 무엇입니까?${!var*}의 의미는 무엇입니까? 저는 '초보자용 배쉬 가이드'를 읽고 있어요.다음과 같이 되어 있습니다. 의 첫 번째 문자가PARAMETER느낌표입니다.Bash는 나머지 변수 값을 사용합니다.PARAMETER변수 이름으로, 이 변수가 확장되고 해당 값이 치환의 나머지 부분에서 사용됩니다.PARAMETER그 자체입니다.이를 간접 확장이라고 합니다. 다음은 예를 제시하겠습니다. franky ~> echo ${!N*} NNTPPORT NNTPSERVER NPX_PLUGIN_PATH 무슨 말인지 잘 모르겠어요. 나머지로부터 형성되는 변수의 값PARAMETER 처럼PARAMETER그냥!N*,그리고나서 나머지PARAMETER 그냥N*어떻게 이것이 변수를 형성할 수 있었을까?Bash가 ..

sourcecode 2023.04.14

Linux, DST-safe에서 bash로 어제 날짜 가져오기

Linux, DST-safe에서 bash로 어제 날짜 가져오기 Linux에서 실행되는 셸 스크립트를 가지고 있으며 이 호출을 사용하여 어제 날짜를 가져옵니다.YYYY-MM-DD형식: date -d "1 day ago" '+%Y-%m-%d' 대부분의 경우 작동하지만 어제 아침 스크립트가 실행되었을 때2013-03-11 0:35 CDT그것은 돌아왔다"2013-03-09"대신"2013-03-10". 아마도 서머타임이 (어제부터 시작된) 탓일 것이다.나는 길을 추측하고 있다."1 day ago"24시간 전, 24시간 전을 뺀 값을 구현됩니다.2013-03-11 0:35 CDT이었다2013-03-09 23:35 CST그 결과,"2013-03-09". 그렇다면 Linux에서 어제 날짜를 bash로 가져오는 DST ..

sourcecode 2023.04.14

새로운 행의 패턴을 grep로 지정하는 방법은 무엇입니까?

새로운 행의 패턴을 grep로 지정하는 방법은 무엇입니까? 새로운 행의 패턴을 grep로 지정하는 방법은 무엇입니까?첫 줄에 새 줄, 끝에 새 줄.정규 표현 방식이 아닙니다.예를 들어 \n.해라pcregrep보통이 아니라grep: pcregrep -M "pattern1.*\n.*pattern2" filename 그-M옵션을 사용하면 여러 줄에 걸쳐 일치할 수 있으므로 새 줄을 검색할 수 있습니다.\n.grep패턴은 개개의 회선과 대조되기 때문에 패턴은 입력에서 발견된 새로운 회선과 일치할 수 없습니다. 그러나 다음과 같은 빈 행을 찾을 수 있습니다. grep '^$' file grep '^[[:space:]]*$' file # include white spaces @jarno 덕분에 -z 옵션에 대해 알..

sourcecode 2023.04.14

Bash에서 'for' 루프를 어떻게 쓰죠?

Bash에서 'for' 루프를 어떻게 쓰죠? 다음과 같은 기본 루프를 찾고 있습니다. for(int i = 0; i < MAX; i++) { doSomething(i); } 배쉬를 위해서요이 사이트에서: for i in $(seq 1 10); do echo $i done for ((i = 0 ; i < max ; i++ )); do echo "$i"; done 배쉬for는 변수(반복자)와 반복자가 반복할 수 있는 단어 목록으로 구성됩니다. 따라서 단어 목록이 한정되어 있는 경우 다음 구문에 넣기만 하면 됩니다. for w in word1 word2 word3 do doSomething($w) done 아마 몇 가지 숫자를 따라 반복하고 싶을 겁니다. 그러면seq명령어를 사용하여 번호 목록을 생성합니다. ..

sourcecode 2023.04.14
반응형