Pageferry
자주 묻는 질문

Bash 디버깅 답변: 종료 코드, 인수 및 린터

05

Bash 기초

스크립트 실패 시 bash 디버깅 모드는 어떻게 도움이 되나요?

-x 옵션은 Bash가 명령어를 실행하기 직전, 확장된 인수를 포함한 모든 명령어를 출력합니다. 이를 통해 스크립트에서 정확히 어디가 잘못되었는지 확인할 수 있습니다. WSL이나 소유한 Linux 시스템에서 bash -x script.sh로 시작하고, -eu를 설정하면 첫 번째 오류나 미설정된 변수에서 실행이 중단됩니다. Pageferry의 Shell 카드에는 이 추적 정보와 실제 종료 코드가 함께 표시됩니다.

Bash 린터란 무엇이며 언제 실행해야 하나요?

Bash 린터는 스크립트를 실행하지 않고 읽어서 변수 인용 부호 누락과 같은 잠재적 오류를 지적하는 별도 프로그램입니다. 원하는 린터를 선택하여 WSL 또는 Linux 시스템에 설치한 후 에이전트에게 Shell로 실행을 요청하세요. 카드에는 린터의 메시지 및 종료 코드가 표시됩니다. 린터는 테스트 실행을 대체하지 않습니다.

Bash 스크립트에 인수를 전달하는 방법은 무엇인가요?

인수는 스크립트 이름 뒤에 오는 값이며, 예를 들어 bash script.sh one two와 같이 입력합니다. 스크립트는 이를 $1, $2 등으로 읽습니다. $#은 개수를, "$@"는 모든 인수를 별도의 단어로서 보유합니다. 필수 플래그와 인수를 추가하려면 시작 부분에서 $#을 테스트하고, 표준 오류에 사용법 줄을 출력한 후 종료 코드 2를 반환하세요. 시크릿 값을 명령줄 인수로 전달하지 마세요. 다른 사용자가 프로세스 목록에서 이를 확인할 수 있습니다.

Bash에서 종료 코드 127은 무엇을 의미하나요?

종료 코드 127은 명령어를 찾을 수 없음을 의미하며, 보통 오타, 프로그램 미설치 또는 PATH에 포함되지 않아서 발생합니다. 셸이 메시지를 출력하고, Pageferry는 Shell 카드에 동일한 메시지 및 번호를 표시합니다. 플래그와 함께 앱을 실행하는 Bash 스크립트는 시작하는 모든 앱의 종료 코드를 확인해야 합니다.

Bash에서 종료 코드 126은 무엇을 의미하나요?

코드 126은 파일이 존재하지만 실행할 수 없음을 의미하며, 보통 실행 권한이 없거나 프로그램이 아니어서 발생합니다. 스크립트의 경우 chmod +x script.sh로 권한을 추가하면 shebang 줄을 통해 ./script.sh로 시작할 수 있습니다. 확신이 서지 않으면 먼저 bash script.sh를 실행하고 카드에서 종료 코드를 확인하세요.

Pageferry 사용법

codedguru.com이 Pageferry 공식 웹사이트인가요?

네, codedguru.com이 Pageferry 공식 웹사이트입니다. 다운로드 버튼은 약 34 MB 크기의 원본 설치 프로그램을 제공하며, 실행 전에 SHA-256 체크섬을 게시된 매니페스트와 비교할 수 있습니다. Windows SmartScreen은 설치 프로그램이 아직 코드 서명되지 않았다는 이유로 경고할 수 있습니다. 앱에 대한 문의는 앱 내부의 Send feedback 버튼을 통해 가능합니다.

에이전트는 Linux 시스템의 Bash 스크립트와 함께 작동할 수 있나요?

네, 자체 PC의 WSL을 통해 또는 소유한 Linux 시스템에 SSH로 연결하여 사용할 수 있습니다. Pageferry 자체는 Windows 10 및 11용 앱이므로 Windows에서 채팅하고, 파일 도구는 채팅의 현재 폴더에서 작동하며, Shell은 선택한 환경에서 명령어를 실행합니다. 권한이 있는 머신만 사용하고, 먼저 복사본에서 테스트하세요.

결과가 항상 정확한가요?

아닙니다. 에이전트는 명령어를 실행하고 실제 출력을 표시하지만 스크립트가 여전히 잘못될 수 있으며 모델이 문제를 잘못 해석할 수도 있습니다. 모든 diff를 읽고 테스트 값으로 스크립트를 실행하며 종료 코드를 직접 확인하세요. Pageferry는 사실을 카드에 기록하지만 변경 사항을 수용할지 여부는 사용자의 결정에 달려 있으며, 거절된 편집은 아무것도 변경하지 않습니다.

Ask first와 Plan only의 차이점은 무엇인가요?

Ask first는 에이전트가 실행할 수 있지만 파일 쓰기 등 변경을 일으키는 작업 전에 일시 중단되는 모드입니다. 편집의 경우 diff를 확인하고 수용하거나 거절할 수 있습니다. Plan only는 계획만 작성하고 아무것도 실행하지 않습니다: 명령어나 파일 변경이 없습니다. 계획을 실행하려면 모드를 전환하세요. Auto-run은 즉시 작동합니다.

여러 작업을 병렬로 실행할 수 있나요?

네, task 도구는 병렬로 하위 에이전트를 시작하고, Bash 스크립트 내부에서는 &를 사용하여 백그라운드에서 동시 작업을 시작하고 wait를 사용할 수 있습니다. 종료 코드 집계는 사용자의 책임입니다: 각 프로세스 ID를 기다리고 상태를 직접 수집해야 합니다. $?는 마지막 명령어의 상태만 보유합니다. 이러한 스크립트는 자체 머신에서 테스트하세요.

모델, 개인정보 및 다운로드

클라우드 모델을 사용할 때 파일이 PC를 벗어나나요?

네, 클라우드 모델의 경우 에이전트가 읽는 파일 텍스트를 포함한 프롬프트가 해당 제공업체로 전송됩니다. 로컬 모델의 경우 데이터가 머신 외부로 나가지 않습니다. 두 경우 모두 채팅, 작업 폴더 및 API 키는 PC에 유지되며, 도구 출력의 시크릿은 모델에 도달하기 전에 가려집니다. 엔드포인트를 선택하므로 스크립트와 함께 고려하여 선택하세요.

설치 프로그램은 코드 서명이 되어 있나요?

아니요, 설치 프로그램은 아직 코드 서명되지 않았으므로 실행 시 Windows SmartScreen이 경고할 수 있습니다. 다운로드한 파일의 SHA-256 체크섬을 게시된 매니페스트와 비교한 후, More info 아래의 Run anyway를 선택하세요. Windows에서 certutil -hashfile <파일 경로> SHA256은 비교할 값을 출력합니다.

설치 프로그램 크기는 얼마인가요?

다운로드 버튼이 제공하는 설치 프로그램의 크기는 34 MB입니다. 약 25 MB 크기의 포터블 단일 .exe도 존재하지만, 버튼에서는 제공되지 않습니다. 둘 다 Windows 10 및 11용으로 빌드되었으며, 현재 버전은 2.9.26입니다. 설치 후 새 버전이 준비되면 앱에 Update 버튼이 표시됩니다.

Pageferry는 계정이나 네트워크 연결이 필요한가요?

앱 실행에 계정이 필요하지 않습니다. 네트워크 연결 필요 여부는 모델에 따라 다릅니다: 클라우드 AI 제공업체는 연결이 필요하지만 로컬 모델은 필요하지 않으며, web_search, 업데이트 확인 및 휴대폰 브라우저에서 채팅 제어는 선택적 네트워크 기능입니다. 휴대폰 제어는 하나의 아웃바운드 연결을 사용하며 전환할 수 있습니다.

Windows용 Pageferry

보이는 종료 코드로 다음 Bash 스크립트 디버깅하기

Pageferry 다운로드 ↗