Recentemente, tive que executar um monte de trechos / funções de código bash longos um tanto complexos junto com algumas consultas do MongoDB em um host remoto.
Usar funções, substituição e composição funcionou muito bem tanto para as consultas do MongoDB quanto para os trechos de código bash mais complexos:
simple_mongodb_query(){
/usr/bin/mongo --quiet -u $MONGO_USER --authenticationDatabase=admin -p $TARGET_DB_PASSWORD $TARGET_DB_HOSTNAME:27017/$DB --eval "
db.order.find({
'_id': '$ORDER_ID'
})
"
}
ORDER_ID=1
ssh -n $SSH_USER@$DB_HOSTNAME "$(typeset -f simple_mongodb_query);
MONGO_USER ="$MONGO_USER";
TARGET_DB_PASSWORD ="$TARGET_DB_PASSWORD";
TARGET_DB_HOSTNAME ="$TARGET_DB_HOSTNAME";
DB=$DB;
ORDER_ID="$ORDER_ID"
simple_mongodb_query"`