Um problema ao invocar uma função em um script bash

0

Eu escrevi o seguinte script bash para encontrar o nome do motorista, eu o faria melhor, mas por enquanto eu só quero saber por que esse script não funciona?

#! /bin/bash

## the driver's name 
drivername=$(lspci -vv -s $(lspci |grep -i ethernet| awk -F" " '{print $1}')| awk -F" " '/driver/ {print $5}')

checkout ()
{
lsmod > tmp.txt
    if grep -i $1 "tmp.txt" > /dev/null ; then
        echo "there's a driver"
    else
        echo "there's not any driver"
    fi
}

ckeckout drivername ;

Eu testei ambas as declarações a seguir para ter certeza sobre como invocar a função, mas ambas não funcionaram.

checkout $drivername

e

checkout drivername

qual é o problema com isso? Então, obrigado.

    
por user3679015 26.01.2015 / 15:00

1 resposta

0

Veja o script corrigido:

#!/bin/bash

## the driver's name  
drivername=$(lspci -vv -s $(lspci |grep -i ethernet| awk -F" " '{print $1}')| awk -F" " '/driver/ {print $5}')

checkout () 
{ 
lsmod > tmp.txt
    if grep -i $drivername "tmp.txt" > /dev/null ; then
        echo "there's a driver called: $drivername"
        exit 0
    else
        echo "there's not any driver"
        exit 1
    fi 
}

checkout $drivername;
    
por Frantique 26.01.2015 / 15:09