Chamando um script que não está no mesmo caminho

1

Digamos que eu tenha um script bash localizado em /home/user/examples que funciona da seguinte maneira (ele simplesmente pega o número inserido pelo usuário e o adiciona a si mesmo):

[user]$ add 
Enter a number: 10

results:
entered value - 10
new value - 20

E eu quero criar outro script bash localizado em /home/user/other , que aceita um argumento e o usa como o número do script add acima, mas imprime apenas o novo valor. Por exemplo:

[user]$ organize 10

New Value
20

Como faço para isso?

    
por bbycakes3 27.10.2015 / 01:31

1 resposta

2

A resposta simples é

printf '%s\n' "$1" | /home/user/examples/scriptname.sh | sed -n -e '$ s/^new value - // p'

A resposta mais correta é escrever um script expect que procura o prompt ( Enter a number: ), envia "$ 1" e Enter e, em seguida, extrai o resultado.

    
por 27.10.2015 / 01:48