Eu tenho um comando find como parte de um script e exporto os valores para a variável como abaixo
export value1="'find /app/new1 -name '*service.sh*'"
Após o teste, percebi que em alguns hosts o diretório é diferente como abaixo
/sbclocal/app/new1
Como faço para verificar e passar ambos para o mesmo valor?
enquanto encontro esse script e o executo com parar ou iniciar mais tarde.
Responder1
Se entendi a pergunta corretamente, existem poucas maneiras de atingir o estado desejado.
find
suporta vários caminhos especificados. Portanto, não é grande coisa colocar desta forma:export value1="$(find /app/new1 /sbclocal/app/new1 -name '*service.sh*')"
Isso produzirá uma mensagem de erro, se um dos diretórios estiver faltando, mas (dependendo da sua maneira) pode não afetar o seu script em geral.
Passe dois comandos para valor:
export value1="$(find /app/new1 -name '*service.sh*' && find /sbclocal/app/new1 -name '*service.sh*')"
Esta opção fornece uma resposta mais próxima da sua pergunta (passando dois comandos para a mesma variável), mas não parece uma solução melhor.
Maneira com cheques:
export value1="$(for dir in /app/new1 /sbclocal/app/new1; do [ -d $dir ] && find $dir -name '*service.sh*'; done)"