Bash Script per il comando Rar


1

Ho bisogno di uno script per rarare i miei file

l'utilizzo sarà così

r1 archivename fileordirtocompress

con i seguenti attributi

rar a -m0 -v1024000 -r 

Come dovrebbe essere questa sceneggiatura di Bash?

#!/bin/bash

for file in "$*"
do

rar a -v10000k archive.rar $file

done

Ho trovato qualcosa del genere ma vorrei poter cambiare il nome dell'archivio

esempi:

r1 MyPhotos Myphotos / = MyPhotos.rar (Myphotos / interno con sottocartelle)

r1 Nicemusic * .mp3 = Nicemusic.rar (tutti i .mp3 all'interno)

r1 Familyvideo movie1.avi = Familyvideo (file movie1.avi all'interno)

Risposte:


1

Puoi usare la variabile anche $fileper nominare l'archivio.

#!/bin/bash

for file in "$*"
do

    rar a -m0 -v1024000 -r ${file}.rar $file

done

Nota che ho cambiato le opzioni in rarquello che hai detto che volevi. Il forciclo memorizza tutti i file in cui si trova *(ovvero tutti i file nella directory corrente) nella variabile $file, uno per uno, mentre passa attraverso il ciclo. Hai bisogno del {}intorno al nome della variabile prima .rardi assicurarti che bash non pensi che stai cercando di trovare una variabile chiamata $file.rar.


Non funziona con le cartelle con spazio r1 Phot My / Photo \ giving: ATTENZIONE: nessun file
John,

Prova a racchiudere $filetra virgolette, in questo modo:"$file"
darthbith,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.