Você também pode usar a variável $file
para nomear o arquivo.
#!/bin/bash
for file in "$*"
do
rar a -m0 -v1024000 -r ${file}.rar $file
done
Note que alterei as opções para rar
para o que você disse que queria. O loop for
armazena todos os arquivos que encontra em *
(ou seja, todos os arquivos no diretório atual) na variável $file
, um por um, conforme passa pelo loop. Você precisa do {}
em torno do nome da variável antes de .rar
para garantir que o bash não pense que você está tentando encontrar uma variável chamada $file.rar
.