내 데스크톱 터미널에 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:~>
$SHELL
lftp는 귀하 의 명령을 bash에 전달합니다 bash -c 'ls | !grep apk'
. 이는 bash가 있음을 의미합니다.비대화형 모드, 그 뜻은기록 확장이 비활성화되었습니다.. 결과적으로 bash는 문자 그대로 이름이 지정된 명령을 찾으려고 시도했지만 !grep
실패합니다.
lftp는 모든 후속 텍스트를 !
셸로 파이프하기 때문에 !
파이프라인의 각 명령에 대해 lftp의 셸 접두사를 호출할 필요가 없습니다. 그냥 사용하세요: !ls | grep apk
또는 다음과 같이돕 고티댓글을 다음과 같이 단순화하세요 !ls -d -- *apk*
.