lftp와 함께 파이프를 사용하는 방법은 무엇입니까?

lftp와 함께 파이프를 사용하는 방법은 무엇입니까?

내 데스크톱 터미널에 apk로 끝나는 파일이 있습니다.

ls  | grep apk
DroidEdit_v1.23.6.apk

데스크톱 컴퓨터에서 lftp를 사용하여 Android 휴대폰에 연결합니다.

lftp  192.168.31.130:3721
lftp 192.168.31.130:~> lcd Downloads
lcd ok, local cwd=/home/debian/Downloads
lftp 192.168.31.130:~> !ls
DroidEdit_v1.23.6.apk

lftp 명령에 파이프를 사용할 수 없는 이유는 무엇입니까?

lftp 192.168.31.130:/> !ls | !grep  apk
bash: line 1: !grep: command not found

답변1

관로할 수 있는!(쉘)lftp 명령에서 사용:

$ lftp localhost
lftp localhost:~> !ls | grep rpm
rpmbuild
lftp localhost:~>

$SHELLlftp는 귀하 의 명령을 bash에 전달합니다 bash -c 'ls | !grep apk'. 이는 bash가 있음을 의미합니다.비대화형 모드, 그 뜻은기록 확장이 비활성화되었습니다.. 결과적으로 bash는 문자 그대로 이름이 지정된 명령을 찾으려고 시도했지만 !grep실패합니다.

lftp는 모든 후속 텍스트를 !셸로 파이프하기 때문에 !파이프라인의 각 명령에 대해 lftp의 셸 접두사를 호출할 필요가 없습니다. 그냥 사용하세요: !ls | grep apk또는 다음과 같이돕 고티댓글을 다음과 같이 단순화하세요 !ls -d -- *apk*.

관련 정보