반응형

bash 16

bash curl 문에 '&' 문자를 포함하는 방법

bash curl 문에 '&' 문자를 포함하는 방법 웹 페이지를 다운로드하기 위해 배시의 컬을 사용하려고 하는데&URL의 기호가 원하는 문자로 해석되지 않습니다.어떻게 하면 배쉬를 설득할 수 있을까?&그냥 재미없는 캐릭터일 뿐이고 특별한 건 없다?URL 전체를 큰따옴표로 묶으면 문제가 해결됩니다.curl "http://www.example.com?m=method&args=1" & 를 GET URL 의 딜리미터로서 사용하고 있습니까?아니면 데이터 내에 있습니까? 데이터에 있는 경우 HTML 문자로 인코딩해야 합니다. 그렇지 않은 경우 따옴표로 둘러싸야 합니다. 부호화&가 되어야 한다%26를 참조해 주세요. curl "http://www.example.com?m=this%26that 홑따옴표로 둘러싸다&기호..

programing 2023.04.21

Bash 구문 오류: 예기치 않은 파일 끝

Bash 구문 오류: 예기치 않은 파일 끝 죄송하지만 이건 배쉬어로 된 아주 간단한 대본입니다.코드는 다음과 같습니다. #!/bin/bash # june 2011 if [ $# -lt 3 -o $# -gt 3 ]; then echo "Error... Usage: $0 host database username" exit 0 fi sh 파일을 실행한 후.sh: 구문 오류: 예기치 않은 파일 끝 파일인 것 같아요.sh는 CRLF 회선 터미네이터를 사용합니다. 달려. dos2unix file.sh 그러면 문제가 해결될 거예요. 다음과 같이 dos2unix를 ubuntu에 설치할 수 있습니다. sudo apt-get install dos2unix 확인해야 할 다른 사항(방금 생각났을 때): 한 줄 함수의 본문을 ..

programing 2023.04.21

어떻게 하면 stderr를 파이프에 연결할 수 있고 stdout이 아닐 수 있습니까?

어떻게 하면 stderr를 파이프에 연결할 수 있고 stdout이 아닐 수 있습니까? 는 는는정 inform inform to to to to inform inform to to that that that 。stdout ★★★★★★★★★★★★★★★★★」stderr는 , 을 가 있습니다.stderrgrep, leaving, leaving, leavingstdoutdisclossible.syslog.syslog. 임시 파일을 사용하면 다음 두 단계로 수행할 수 있습니다. command > /dev/null 2> temp.file grep 'something' temp.file 하지만 어떻게 임시 파일 없이 하나의 명령과 파이프를 사용하여 이 작업을 수행할 수 있을까요?으로 리다이렉트한 후을 stderr st..

programing 2023.04.21

ssh가 중단되다

ssh가 중단되다 이 질문에는 이미 답변이 있습니다. 루프가 Bash의 첫 번째 줄 이후 읽기를 중지하는 동안 (5개의 답변) 닫힘6년 전에요. 이 bash 코드를 사용하여 리모트서버에 파일을 업로드 합니다.일반 파일에서는 정상적으로 동작합니다. for i in `find devel/ -newer $UPLOAD_FILE` do echo "Upload:" $i if [ -d $i ] then echo "Creating directory" $i ssh $USER@$SERVER "cd ${REMOTE_PATH}; mkdir -p $i" continue fi if scp -Cp $i $USER@$SERVER:$REMOTE_PATH/$i then echo "$i OK" else echo "$i NOK" rm ${..

programing 2023.04.21

OS X의 'date' 명령어에는 ISO 8601 '-I' 옵션이 없습니다.

OS X의 'date' 명령어에는 ISO 8601 '-I' 옵션이 없습니다. Bash 스크립트에서 현재 날짜/시간을 ISO 8601 형식(가급적이면 UTC)으로 인쇄하고 싶습니다.이 작업은 다음과 같이 단순해야 합니다.date -I: http://ss64.com/bash/date.html 하지만 Mac에서는 작동하지 않는 것 같습니다. $ date -I date: illegal option -- I usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format] 그리고 사실,man date에는 이 옵션이 표시되지 않습니다. ISO 860..

programing 2023.04.16

첫 번째 인수를 제외한 모든 인수를 처리합니다(bash 스크립트에서).

첫 번째 인수를 제외한 모든 인수를 처리합니다(bash 스크립트에서). 첫 번째 인수는 파일명으로 예약되어 있고 다른 모든 옵션인수는 스크립트의 다른 부분으로 전달됩니다. Google을 사용하여 이 Wiki를 찾았는데 문자 그대로의 예를 제시했습니다. echo "${@: -1}" 다른 작업을 할 수 없습니다. 예를 들어 다음과 같습니다. echo "${@:2,1}" 터미널에서 "Bad substitution"이 수신됩니다. bash 스크립트에 전달된 첫 번째 인수를 제외한 모든 인수를 처리하려면 어떻게 해야 합니까?사용방법: echo "${@:2}" 다음 구문: echo "${*:2}" @Gordon이 이미 설명했듯이 를 사용하는 것은 권장되지 않습니다.*, 모든 인수를 공백이 있는 단일 인수로서 함께 ..

programing 2023.04.16

어떻게 Bash에서 두 개의 파이프라인을 분리할 수 있죠?

어떻게 Bash에서 두 개의 파이프라인을 분리할 수 있죠? Bash에서 임시 파일을 사용하지 않고 어떻게 두 개의 파이프라인을 분리할 수 있습니까?두 개의 명령어 파이프라인이 있다고 가정합니다. foo | bar baz | quux 그리고 당신은 그 사람을 찾고 싶어 한다.diff출력에 반영됩니다.한 가지 솔루션은 다음과 같습니다. foo | bar > /tmp/a baz | quux > /tmp/b diff /tmp/a /tmp/b Bash에서 임시 파일을 사용하지 않고 할 수 있습니까?파이프라인 중 하나에 파이프로 연결하여 다음 중 하나의 임시 파일을 삭제할 수 있습니다. foo | bar > /tmp/a baz | quux | diff /tmp/a - 그러나 두 파이프라인을 동시에 다른 파이프로 연..

programing 2023.04.16

스크립트의 소스 여부를 검출하는 방법

스크립트의 소스 여부를 검출하는 방법 않았으면 있다.exit이치노 $0 == bash된 경우 .ksh 스크립트가 소스인지 아닌지를 검출하는 신뢰성 높은 방법이 있습니까?크로스 셸을 포함한 , , , 및 비교적 견고한 POSIX 준거 솔루션: 제공된 버전 번호는 기능이 검증된 버전 번호입니다(아마도 이 솔루션들은 훨씬 이전 버전에서도 작동할 것입니다). 피드백을 환영합니다. POSIX 기능만 사용(예:dash 역할을 /bin/shUbuntu)에서는 스크립트의 소스 여부를 확실하게 판단할 수 없습니다.최적의 개산은 이하를 참조해 주세요. 중요: 이 솔루션은 스크립트가 발신자에 의해 송신되고 있는지 여부를 판별합니다.이 스크립트는 셸 자체 또는 다른 스크립트(그 자체가 송신원인지 아닌지가 있습니다). 후자의 ..

programing 2023.04.11

Bash에서 어레이를 정렬하는 방법

Bash에서 어레이를 정렬하는 방법 Bash에 다음과 같은 어레이가 있습니다. array=(a c b f 3 5) 어레이를 분류해야 합니다.콘텐츠를 정렬된 방식으로 표시할 뿐만 아니라 정렬된 요소를 사용하여 새 배열을 가져옵니다.정렬된 새 배열은 완전히 새 배열이거나 이전 배열일 수 있습니다.그렇게 많은 코드가 필요하지 않습니다. IFS=$'\n' sorted=($(sort $?" sexy_int world echo "world -> $?" 그러면 다음 정수를 배열 인덱스로 사용할 수 있습니다. Bash는 항상 스파스 배열을 사용하기 때문에 사용하지 않는 인덱스에 대해 걱정할 필요가 없습니다. array=(a c b f 3 5) for el in "${array[@]}"; do sexy_int "$el"..

programing 2023.04.11

특정 시간/날짜까지 sleep

특정 시간/날짜까지 sleep bash 스크립트를 특정 시간까지 sleep 상태로 해 주세요.그래서 나는 "sleep"과 같은 명령어를 원하는 것은 휴식 시간이 아니라 종료 시간이고 그때까지 자는 것이다. 실행 중인 스크립트를 특정 날짜/시간까지 차단해야 하므로 "at" 대몬은 해결책이 아닙니다. 그런 명령어가 있나요?무법자 프로그래머가 말한 것처럼 올바른 초수를 자는 것이 해결책이라고 생각합니다. 이를 bash로 수행하려면 다음 작업을 수행합니다. current_epoch=$(date +%s) target_epoch=$(date -d '01/01/2010 12:00' +%s) sleep_seconds=$(( $target_epoch - $current_epoch )) sleep $sleep_second..

programing 2023.04.11
반응형