Se eu entendi corretamente, você quer executar o comando ipcrm shm <ids>
para todos os segmentos de memória compartilhada do usuário bob. Então o comando ipcrm -s <ids>
para todos os Arrays Semaphore do usuário bob.
Para conseguir isso, use os seguintes comandos (você não precisa fazer loop em um script):
Para a parte Segmentos de memória compartilhada:
ipcrm shm $(ipcs -m | awk '$3=="bob" {printf "%s ",$2}')
Para a parte da Semaphore Array:
ipcrm -s $(ipcs -s | awk '$3=="bob" {printf "%s ",$2}')
Explicação:
Na% man_de% manpage:
-m shared memory segments
-s semaphore arrays
A parte ipcs
imprime os IDs somente quando o terceiro campo é bob.