bash 14

기본값을 사용하여 bash에서 변수 읽기

기본값을 사용하여 bash에서 변수 읽기 단말기에서 bash 스크립트의 값을 읽어야 합니다.사용자가 변경할 수 있는 기본값을 제공하고 싶습니다. # Please enter your name: Ricardo^ 이 스크립트에서 프롬프트는 "이름을 입력하십시오:"이고 기본값은 "리카르도"이고 커서는 기본값 다음에 있습니다.bash 스크립트에서 이 작업을 수행할 수 있는 방법이 있습니까?매개 변수 확장을 사용할 수 있습니다. read -p "Enter your name [Richard]: " name name=${name:-Richard} echo $name 괄호 사이의 프롬프트에 기본값을 포함하는 것은 상당히 일반적인 관례입니다. 무엇을 합니까?:-Richard파트 do?bash 매뉴얼에서: ${paramet..

source 2023.06.14

bash에서 여러 백그라운드 명령을 한 줄로 실행하려면 어떻게 해야 합니까?

bash에서 여러 백그라운드 명령을 한 줄로 실행하려면 어떻게 해야 합니까? 일반적으로 다음과 같은 명령을 여러 번 실행합니다. sleep 2 && sleep 3 또는 sleep 2 ; sleep 3 하나의 명령줄 명령에서 백그라운드로 둘 다 실행하려면 어떻게 해야 합니까? sleep 2 & && sleep 3 & 작동하지 않습니다.그리고 또한 교체하지 않습니다.&&와 함께; 할 수 있는 방법이 있습니까?정확히 어떻게 운영했으면 좋겠습니까?백그라운드에서 시작하여 순차적으로 실행되도록 하려면 다음과 같은 작업을 수행합니다. { sleep 2; sleep 3; } & 네가 원한다면sleep 3다음과 같은 경우에만 실행됩니다.sleep 2성공한 경우: sleep 2 && sleep 3 & 반대로 백그라운드에서..

source 2023.06.04

스크립트에서 stderr과 stdout을 동일한 줄에 있는 다른 파일로 리디렉션하는 방법은 무엇입니까?

스크립트에서 stderr과 stdout을 동일한 줄에 있는 다른 파일로 리디렉션하는 방법은 무엇입니까? 이 정도는 알고 있습니다. $ command 2>> error $ command 1>> output stderr을 error 파일로 출력하고 stdout을 출력 파일로 출력할 수 있는 방법이 있습니까?한 줄로 추가하기만 하면 됩니다.command 2>> error 1>> output 그러나 참고:>>파일에 이미 데이터가 있는 경우 추가할 수 있습니다.반면에.>파일의 기존 데이터를 덮어씁니다. 그렇게,command 2> error 1> output추가하기를 원하지 않는 경우. 단지 완성을 위해, 당신은 글을 쓸 수 있습니다.1>정당하게>기본 파일 설명자가 출력이기 때문입니다.그렇게1>그리고.>같은 것입니..

source 2023.05.25

Git에서 당김이 필요한지 확인합니다.

Git에서 당김이 필요한지 확인합니다. 원격 리포지토리가 변경되었는지 확인하고 풀링해야 하는지 확인하려면 어떻게 해야 합니까? 이제 다음과 같은 간단한 스크립트를 사용합니다. git pull --dry-run | grep -q -v 'Already up-to-date.' && changed=1 하지만 그것은 다소 무겁습니다. 더 좋은 방법이 있습니까?이상적인 솔루션은 모든 원격 분기를 확인하고 변경된 분기의 이름과 각 분기의 새 커밋 수를 반환하는 것입니다.먼저 를 사용하여 원격 참조를 최신 상태로 전환합니다.그런 다음 다음과 같은 여러 가지 작업 중 하나를 수행할 수 있습니다. git status -uno추적 중인 분기가 앞에 있는지, 뒤에 있는지 또는 분기되었는지 여부를 알려줍니다.아무것도 표시되지 ..

source 2023.05.20

현재 git 브랜치의 이름을 셸 스크립트의 변수로 가져오는 방법은 무엇입니까?

현재 git 브랜치의 이름을 셸 스크립트의 변수로 가져오는 방법은 무엇입니까? 이 질문에는 이미 다음과 같은 답이 있습니다. 현재 체크아웃된 Git 분기를 프로그래밍 방식으로 결정하는 방법 (20개 답변) 마감됨9년 전에. 저는 셸 스크립팅에 익숙하지 않아서 이것을 이해할 수 없습니다.익숙하지 않은 경우 gitbranch 명령은 다음과 같은 것을 반환합니다. * develop master 여기서 별표는 현재 체크아웃된 분기를 나타냅니다.터미널에서 다음을 실행할 때: git branch | grep "*" 이해합니다. * develop 역시 하지만, 내가 달릴 때 test=$(git branch | grep "*") 또는 test=`git branch | grep "*"` 그리고 나서. echo $test..

source 2023.05.15

기록에 보관하지 않고 명령 실행

기록에 보관하지 않고 명령 실행 닫혔습니다. 이 질문은 충족되지 않습니다.스택 오버플로 지침입니다.현재 답변을 수락하고 있지 않습니다. 이 질문은 특정 프로그래밍 문제, 소프트웨어 알고리즘 또는 프로그래머가 주로 사용하는 소프트웨어 도구에 대한 것이 아닌 것 같습니다.질문이 다른 Stack Exchange 사이트에서 주제가 될 것으로 생각되는 경우, 질문에 대한 답변이 가능한 위치를 설명하는 의견을 남길 수 있습니다. 3년 전에 문을 닫았습니다. 커뮤니티는 4개월 전에 이 질문을 다시 시작할지 여부를 검토한 후 이 질문을 닫았습니다. 원래 종료 이유가 해결되지 않았습니다. 이 질문을 개선합니다. 소프트웨어 개발을 수행할 때 종종 명령행 명령에 기밀 정보를 포함해야 합니다.일반적인 예는 프로젝트를 서버에 ..

source 2023.05.05

Bash 명령 프롬프트에 git 분기 추가

Bash 명령 프롬프트에 git 분기 추가 현재 작업 중인 git 브랜치를 bash 프롬프트에 추가(체크아웃)하려고 했지만 성공하지 못했습니다.(액티브 디렉토리/파일을 보여주는 현재 경로를 그대로 유지하면서) 집에 .bashrc 파일이 있지만 .profile 파일을 언급하는 사람들도 많이 보았습니다. 1 use git 1.9.3 파일: 사용__git_ps1 Git는 함수를 포함하는 셸 스크립트를 제공합니다.__git_ps1그 bash PS1 프롬프트에 추가할 텍스트를 인쇄합니다(지점 이름 포함). 가장 기본적인 용도는 다음과 같습니다. $ __git_ps1 (master) 또한 선택적 형식 문자열을 사용합니다. $ __git_ps1 'git:[%s]' git:[master] 얻는 방법 먼파을어예복사니다합..

source 2023.05.05

모든 디렉토리 및 파일을 재귀적으로 복사하려면 어떻게 해야 합니까?

모든 디렉토리 및 파일을 재귀적으로 복사하려면 어떻게 해야 합니까? 대본이 있습니다. find ./SourceFolder/ -maxdepth 4 -exec cp -R '{}' ./DestFolder/ \; SourceDir에는 하위 항목도 포함되어 있습니다. 문제가 있습니다.DestFolder모든 트리뿐만 아니라 다른 모든 레벨과 파일도 사용할 수 있습니다. 어떻게 고치죠?cp -r ./SourceFolder ./DestFolder 간단한 복사본의 코드입니다. cp -r ./SourceFolder ./DestFolder 성공 결과가 포함된 복사본의 코드입니다. cp -rv ./SourceFolder ./DestFolder 소스에 읽기 전용 파일이 포함된 경우 강제로 복사하는 코드입니다. cp -rf ./..

source 2023.04.25

bash에서 noop [:]의 사용 예는 무엇입니까?

bash에서 noop [:]의 사용 예는 무엇입니까? bash(:)에서 noop을 검색했지만 좋은 정보를 찾을 수 없었습니다.이 작업자의 정확한 목적이나 사용 사례는 무엇입니까? 팔로잉을 시도했더니 이렇게 작동합니다. [mandy@root]$ a=11 [mandy@root]$ b=20 [mandy@root]$ c=30 [mandy@root]$ echo $a; : echo $b ; echo $c 10 30 실시간으로 이 운영자의 사용 사례나 의무적으로 사용해야 하는 장소를 알려주세요.이겁니다.대장이 내장되어 있습니다.:이 말은 정확히 일치합니다.true. 전통적으로 쓰는 말입니다true이 경우 다음과 같이 입력합니다. while true; do echo 'Going on forever' done 이렇게 쓰..

source 2023.04.25

zsh를 종료하지만 실행 중인 작업을 열어두시겠습니까?

zsh를 종료하지만 실행 중인 작업을 열어두시겠습니까? 방금 bash에서 zsh로 바꿨어요 bash에서는 셸이 종료될 때 백그라운드 작업이 계속 실행됩니다.예를 들어, 여기 있습니다.dolphin다음 시간 이후에 계속 실행됩니다.exit: $ dolphin . ^Z [1]+ Stopped dolphin . $ bg [1]+ dolphin . & $ exit 이것이 기본 동작으로 원하는 것입니다. 이와는 대조적으로 zsh의 동작은 작업 실행에 대해 경고하는 것입니다.exit, 다음 경우 닫으십시오.exit다시요. 예를 들면, 여기,dolphin두 번째가 되면 닫힙니다.exit-명령어는 실제로 셸을 종료합니다. % dolphin . ^Z zsh: suspended dolphin . % bg [1] + con..

source 2023.04.25