이미 존재하는 다른 쉘 스크립트를 호출하여 정상적으로 실행하려는 아래와 같은 쉘 스크립트가 있습니다. 예를 들어, 누군가가 다음 메뉴에서 "s"를 명령하면 이 스크립트가 내 모든 디렉터리에서 "isearch" 파일을 검색하고 터미널에서 실행하여 isearch에서 작업할 수 있기를 원합니다. 기존 파일을 검색하고 실행하는 정확한 코드는 무엇입니까?
나는 이것을 시도했지만 작동하지 않습니다 -
find / -type f -iname "isearch" -exec {} \
다음은 내 컴퓨터에서 실행되는 스크립트에 적용되지만, 이러한 파일이 모두 있지만 다른 폴더에 있을 수 있는 사람을 위해 스크립트를 실행하려면 어떻게 해야 합니까?
/home/user/eecs2031as2/isearch
이것은 다른 스크립트를 호출할 수 있는 메뉴가 있는 스크립트입니다.
#!/bin/sh
echo "============== MENU =============="
echo "s: Search for a word"
echo "c: Count lines, words, characters"
echo "r: Clear the screen"
echo "q: Quit the program"
echo "===================================="
echo " "
echo -n "Enter command: "
read usercommand
미리 감사드립니다.
답변1
동일한 프로그램에 코드를 유지하고 아래와 같은 함수와 사례를 사용하여 해당 코드로 점프해 보세요.
echo -n "Enter command: "
read userCommand
case "$userCommand" in
[Ss] )
echo ''
searchWord
function searchWord {
#Enter code here
}
그러나 별도의 파일을 실행하려는 경우 살펴볼 수 있는 또 다른 명령은 "grep"을 사용하고 스크립트에서 출력을 가져오는 것입니다.
파일 헤더에 마법 값을 저장하는 경우 명령을 사용하십시오.
x="$(find | grep -rl "MagicValue")"
./$x