Como posso pesquisar e executar um script de shell de outro?

1

Eu tenho um shell script como o seguinte, onde eu quero chamar outro do meu shell script já existente, e executá-lo como faria normalmente. por exemplo, Se alguém comandar "s" no menu seguinte, eu quero que este script pesquise todos os meus diretórios pelo arquivo "isearch" e execute-o no terminal, para que eles possam trabalhar no isearch. Qual é o código exato para pesquisar e executar o arquivo existente.

Eu tentei isso, mas isso não funciona -

find / -type f -iname "isearch" -exec {} \

O seguinte funciona para o script ser executado em meu computador, mas como posso executá-lo para qualquer pessoa que tenha todos esses arquivos, mas que possa estar em pastas diferentes.

/home/user/eecs2031as2/isearch

Aqui está o script com um menu do qual os outros scripts serão chamados.

 #!/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

Obrigado antecipadamente.

    
por Dil 04.12.2016 / 19:13

1 resposta

1

Tente manter o código dentro do mesmo programa e pule para ele com uma função e um caso como abaixo ...

echo -n "Enter command: " 
read userCommand
case "$userCommand" in
[Ss] )
    echo ''
    searchWord

function searchWord {
    #Enter code here
}

No entanto, se você realmente quer rodar arquivos separados, então outro comando que você pode pesquisar é usando 'grep' e obtendo a saída disso no script.

Se você armazenar um valor mágico dentro do cabeçalho do arquivo e, em seguida, usar o comando

x="$(find | grep -rl "MagicValue")"
./$x
    
por 04.12.2016 / 19:54

Tags