명령 실행 전에 사용자 입력에 문자를 자동으로 추가하는 방법

명령 실행 전에 사용자 입력에 문자를 자동으로 추가하는 방법

나는 터미널에서 책을 읽는 것을 좋아합니다. 터미널을 사용하면 주의가 집중되어 브라우저 등에서 읽던 양의 두 배를 읽을 수 있습니다.

bash.bashrc의 별칭을 사용하여 작업 디렉터리를 .html 파일을 저장하는 디렉터리로 변경하고 해당 디렉터리의 내용도 표시하는 스크립트를 작성했습니다.

alias la='ls -a'

alias books='
printf "\nA twilit bookshelf, somewhere\n\n"
cd data/data/com.termux/files/home/documents/books && la
printf "\n"'

'lynx '그리고 마지막으로 프롬프트 뒤에 추가하여 파일 이름만 입력하고 lynx에서 읽을 수 있도록 하고 싶습니다 .

저는 다음 프레젠테이션을 생각했습니다.

A twilit bookself, somewhere

.        kinglear.html
..       invisiblecities.html

admin@lib:/$ lynx [filename here]

프롬프트 뒤에 "lynx"를 어떻게 추가할 수 있나요?

감사합니다!

답변1

제가 만든 빠른 bash 스크립트에 대한 단계별 지침을 작성하겠습니다.

cd ~/.local/bin
cat > searchlynx
(or use nano,vi,gedit or whatever you prefer)

Ctrl + Shift + V를 사용하여 다음 스크립트를 붙여넣습니다.

#!/bin/bash
printf "\nA twilit bookshelf, somewhere\n\n"
cd /home/a/Downloads && ls -a
printf '\n'
echo 'Input filename:'
read -e FileName
FileFindTest="$(find ~/Downloads/"$FileName")"  ## quoted
echo "$FileFindTest"
echo 'Open with what program?'
read command
$command $FileName

그런 다음 Enter 키를 누르고 Ctrl + C를 눌러 종료합니다. 그런 다음 파일에 대한 권한을 변경해야 합니다.

chmod u+x searchlynx

용법:

searchlynx

디렉토리가 나열되고 탭 자동 완성은 폴더의 파일에서 작동합니다. 열려는 파일을 선택한 후 lynx, xdg-open 등을 수동으로 입력해야 합니다. 피곤하고, 시간이 좀 더 생길 때까지 마지막 부분(실행할 프로그램의 탭 완성)은 연습용으로 남겨두시면 될 것 같습니다. (지금 여기에서 제가 수행한 작업을 보고 그 방법을 배우시기 바랍니다. :) 저는 문제 해결을 돕고 싶지만 다시 살펴볼 시간을 갖기까지는 일주일 이상이 걸릴 수 있습니다.

귀하에게 충분하다면 답변으로 받아들이십시오.
그것은 최소한 프로그램 이름의 탭 완성과 관련된 마지막 문제를 해결하는 데 도움을 줄 수 있는 동기를 부여할 것입니다.

참조: Bash 스크립트에서 탭 자동 완성을 구현할 수 있나요?

관련 정보