ls com um curinga

6

Isso funciona no terminal:

ls /dev/sda*

Eu quero isso em um script bash, usando uma variável. Eu tentei:

device="a"
ls "/dev/sd"$device"*"

Mas recebo o erro: ls: cannot access '/dev/sda*': No such file or directory .

    
por lonix 26.05.2018 / 20:11

2 respostas

9
ls /dev/sd$device* # or
ls "/dev/sd$device"*

Você não deve citar os metacaracteres globbing se quiser que a globulação seja executada.

    
por 26.05.2018 / 20:15
8

As aspas duplas dizem ao shell para deixar o * como está em vez de expandi-lo. Isso vai funcionar:

device="a"
ls "/dev/sd${device}"*
    
por 26.05.2018 / 20:15