반응형

bash 23

Bash에서 문자열이 어떤 값으로 시작하는지 확인하려면 어떻게 해야 합니까?

Bash에서 문자열이 어떤 값으로 시작하는지 확인하려면 어떻게 해야 합니까? 문자열이 "node"(예: "node001")로 시작하는지 확인하고 싶습니다.비슷한 것 if [ $HOST == user* ] then echo yes fi 어떻게 하면 정확하게 할 수 있을까요? HOST가 "user1"인지 "node"로 시작하는지 확인하기 위해 식을 결합해야 합니다. if [ [[ $HOST == user1 ]] -o [[ $HOST == node* ]] ]; then echo yes fi > > > -bash: [: too many arguments 어떻게 하면 정확하게 할 수 있을까요?Advanced Bash 스크립팅 가이드의 이 토막글은 다음과 같습니다. # The == comparison operato..

programing 2023.05.29

현재 사용 중인 대화형 셸을 확인하는 방법(명령줄)

현재 사용 중인 대화형 셸을 확인하는 방법(명령줄) 작업 중인 현재 셸을 확인하려면 어떻게 해야 합니까? (력)의 은?ps명령만으로 충분합니까? 다양한 버전의 유닉스에서 어떻게 이것을 할 수 있습니까? 현재 셸의 실행 파일 이름을 찾는 방법은 세 가지가 있습니다. 셸의 실행 파일이 다음과 같은 경우 세 가지 접근 방식을 모두 속일 수 있습니다./bin/sh하지만 정말로 이름이 바뀌었습니다.bash예를 들어, 자주 발생합니다. 그러므로 당신의 두 번째 질문은ps출력은 "항상은 아님"으로 응답하면 됩니다. echo $0프로그램 이름을 인쇄합니다...껍질의 경우에는 실제 껍질입니다. ps -ef | grep $$ | grep -v grep실행 중인 프로세스 목록에서 현재 프로세스 ID를 찾습니다.현재 공정이 ..

programing 2023.05.29

도커 실행을 통해 셸 스크립트에 인수를 전달하는 방법

도커 실행을 통해 셸 스크립트에 인수를 전달하는 방법 저는 도커의 세계가 처음입니다.도커 컨테이너를 통해 명령줄 인수를 가져오는 셸 스크립트를 호출해야 합니다.예: 내 셸 스크립트는 다음과 같습니다. #!bin/bash echo $1 도커 파일은 다음과 같습니다. FROM ubuntu:14.04 COPY ./file.sh / CMD /bin/bash file.sh 컨테이너를 실행하는 동안 인수를 전달하는 방법을 잘 모르겠습니다.이 대본을 가지고file.sh #!/bin/bash echo Your container args are: "$@" 그리고 이것Dockerfile FROM ubuntu:14.04 COPY ./file.sh / ENTRYPOINT ["/file.sh"] 다음을 수행할 수 있어야 합니다..

programing 2023.05.09

Linux/Unix Bash 스크립트는 어떻게 자체 PID를 가져올 수 있습니까?

Linux/Unix Bash 스크립트는 어떻게 자체 PID를 가져올 수 있습니까? 나는 바시에서 불리는 대본이 있습니다.Script.sh자신의 PID를 알아야 합니다.다시 말해서, 나는 내부에 PID를 얻어야 합니다.Script.sh. 어떻게 하는지 아세요?변수$$PID를 포함합니다.사용하다$BASHPID또는$$ 두 가지 차이점을 포함한 자세한 내용은 [매뉴얼][1]을 참조하십시오. TL;DRTM $$셸의 프로세스 ID로 확장합니다. 인어()서브셸은 서브셸이 아닌 호출 셸의 프로세스 ID로 확장됩니다. $BASHPID현재 Bash 프로세스의 프로세스 ID(Bash 4에 새로 추가됨)로 확장합니다. 인어()하위 셸, 하위 셸의 프로세스 ID로 확장 [1]: http://www.gnu.org/software..

programing 2023.05.09

sudo로 두 개의 명령을 실행하는 방법은 무엇입니까?

sudo로 두 개의 명령을 실행하는 방법은 무엇입니까? 명령줄에서 두 개의 DB2 명령을 실행할 수 있는 방법이 있습니까?PHP에서 호출됩니다.exec지휘권 db2 connect to ttt(두 번째 명령을 위해 연결을 활성화해야 합니다. db2 UPDATE CONTACT SET EMAIL_ADDRESS = 'mytestaccount@gmail.com' 시도해 봤습니다. sudo -su db2inst1 db2 connect to ttt; db2 UPDATE CONTACT SET EMAIL_ADDRESS = 'mytestaccount@gmail.com' 첫 번째 명령은 올바르게 완료되지만 두 번째 명령은 실패하고 다음 오류 메시지가 표시됩니다. SQL1024N A database connection doe..

programing 2023.05.09

Bash의 파일에서 마지막 줄 제거

Bash의 파일에서 마지막 줄 제거 파일이 있어요foo.txt다음 행을 포함합니다. a b c 다음과 같은 내용을 얻을 수 있는 간단한 명령을 원합니다.foo.txt존재: a b 사용: sed -i '$ d' foo.txt 그-i옵션이 존재하지 않습니다.GNU sed3.95 이전 버전이므로 임시 파일이 있는 필터로 사용해야 합니다. cp foo.txt foo.txt.tmp sed '$ d' foo.txt.tmp > foo.txt rm -f foo.txt.tmp 물론, 그런 경우에는 당신도 사용할 수 있습니다.head -n -1대신에sed. MacOS: Mac OS X(10.7.4 기준)의 경우,sed -i위의 명령어는 sed -i '' -e '$ d' foo.txt 이것은 특히 대용량 파일에서 가장 빠르..

programing 2023.05.04

Bash에서 문자열의 각 문자에 대해 for 루프를 수행하는 방법은 무엇입니까?

Bash에서 문자열의 각 문자에 대해 for 루프를 수행하는 방법은 무엇입니까? 다음과 같은 변수가 있습니다. words="这是一条狗。" 각 캐릭터에 대해 한 번에 하나씩 포 루프를 만들고 싶습니다. 예를 들어, 첫 번째character="这",그리고나서character="是",character="一",기타. 내가 아는 유일한 방법은 각 문자를 파일의 별도 행으로 출력한 다음 사용하는 것입니다.while read line하지만 이것은 매우 비효율적으로 보입니다. for 루프를 통해 문자열의 각 문자를 처리하려면 어떻게 해야 합니까? C 스타일을 사용할 수 있습니다.for루프: foo=string for (( i=0; i

programing 2023.05.04

bash/shell 스크립트에서 http 응답 코드를 평가하는 방법

bash/shell 스크립트에서 http 응답 코드를 평가하는 방법 것을 있는 것 느낌이 들지만, 하지 못했습니다.man [curl|wget]또는 구글('blad'는 매우 나쁜 검색어를 만듭니다).자주 장애가 발생하여 오류 메시지와 함께 상태 코드 500을 반환하는 웹 서버 중 하나에 대한 빠르고 더러운 수정을 찾고 있습니다.이 경우는, 재기동할 필요가 있습니다. 근본 원인을 찾는 것은 어려울 것 같기 때문에, 정말로 해결할 수 있을 때까지의 시간을 메우는 것으로 충분할 것으로 기대하면서, 신속한 해결을 목표로 하고 있습니다(서비스는 고가용성이 필요 없습니다). 권장되는 솔루션은 5분마다 실행되는 cron 작업을 생성하여 http://localhost:8080/을 확인하는 것입니다.상태 코드 500이 반..

programing 2023.04.19

Dockerfile에서 도커 컨테이너의 Bash 별칭을 설정하려면 어떻게 해야 합니까?

Dockerfile에서 도커 컨테이너의 Bash 별칭을 설정하려면 어떻게 해야 합니까? 도커는 처음입니다.Dockerfile의 ENV 명령을 사용하여 환경변수를 설정할 수 있다는 것을 알게 되었습니다.하지만 Dockerfile에서 긴 명령어에 대해 Bash 에일리어스를 설정하려면 어떻게 해야 할까요?기본적으로 항상 그렇듯이 사용자 파일에 추가합니다. FROM foo RUN echo 'alias hi="echo hello"' >> ~/.bashrc 통상대로 이것은 인터랙티브셸에서만 동작합니다. docker build -t test . docker run -it --rm --entrypoint /bin/bash test hi /bin/bash: hi: No such file or directory docke..

programing 2023.04.19
반응형