Προς το περιεχόμενο

Λίγη βοηθεια για την συνταξη script


DIMITRISG

Προτεινόμενες αναρτήσεις

προσπαθω να αυτοματοποιησω μια λειτουργια

Δηλαδη θελω να αντιγραφω ενα αρχειο σε 6 διαφορετικους φακέλους με δικαιωματα root

 

έβαλα:

cp /home/dimitri/file /var/lib/share/1/apps

δουλευει

 

έβαλα :

cp /home/dimitri/file /var/lib/share/1/apps /var/lib/share/2/apps /var/lib/share/3/apps

δεν βγαινει

 

βαζω

cp /home/dimitri/file /var/lib/share/1/apps

cp /home/dimitri/file /var/lib/share/2/apps

cp /home/dimitri/file /var/lib/share/3/apps

τιποτα

:rolleyes:

 

 

το εχω κάνει αλλά με πολυ κουλο και ανορθοδοξο τροπο, μη βαρατε :-D εφτιαξα 6 διαφορετικα αρχεια που να εκτελει μια αντιγραφη το καθενα και μετα ενα αλλο αρχειο που εκτελει και τα 6 !!!! και το τρεχω απο συντόμευση στο kmenu και του λεω να τρεχει σαν χρηστης root οποτε μολις εκτελειται μου ζηταει και τον κωδικό root !

εχω φαντασια ομως ετσι; :mrgreen:

αλλα θα ηθελα να μαθω τον σωστο τροπο γιατι ετσι παω Αθηνα Θεσσαλονικη μεσω Γιοχανεσπουργκ!

 

 

στο man cp δεν βρισκω κατι σχετικό λεει πχ copy multiple source to destination και οχι un source to multiple destinations

AME

cp - copy files and directories

 

SYNOPSIS

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

 

DESCRIPTION

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπορείς να χρησιμοποιήσεις μια for loop:

 

>for x in 1 2 3; do cp /home/dimitri/file /var/lib/share/$x/apps; done

Εννοείται ότι αν δεν το επιτρέπει η ομοιομορφία στις διαδρομές προορισμού θα βάλεις μέχρι και ολόκληρες τις διαδρομες στη μεταβλητή x.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπορείς να χρησιμοποιήσεις μια for loop:

 

>for x in 1 2 3; do cp /home/dimitri/file /var/lib/share/$x/apps; done

Εννοείται ότι αν δεν το επιτρέπει η ομοιομορφία στις διαδρομές προορισμού θα βάλεις μέχρι και ολόκληρες τις διαδρομες στη μεταβλητή x.

 

Δάσκαλε , σ ευχαριστω , ειμαι καλός μαθητης ετσι ; :lol:

 

λοιπον τι ήθελα να κάνω:

εχω ενα εικονιδιο στο kmenu που μου αρεσει 'ενα καπα με το γραναζι κλπ' και εδω και ενα μηνα μετα απο συγκεκριμενα updates μου το αλλάζει και επειδη συμβαινει συχνα ηθελα να βαζω το δικό μου εικονιδιο με one click install

 

nske αυτο ακριβως ηθελα να κανω και δεν ηξερα αλλα με το που μου εδωσες κατευθυνση οριστε :

>#!/bin/bash
for x in 16x16 22x22 32x32 48x48 64x64 128x128; do cp /home/dimitri/Images/kmenu.png  /var/lib/mandriva/kde-profiles/free/share/icons/crystalsvg/$x/apps; done

και ΜΙΑ ΜΟΝΟ ΜΙΑ commande line !!! δουλευει ρολοι !

 

ευχαριστω!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επίσης αν θες να το αντιγράψεις σε όλους τους υποκαταλόγους, μπορείς να το γράψεις πιο απλά:

 

>
for dir in /var/lib/mandriva/kde-profiles/free/share/icons/crystalsvg/*; do cp /home/dimitri/Images/kmenu.png  "${dir}/apps/"; done

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επίσης αν θες να το αντιγράψεις σε όλους τους υποκαταλόγους, μπορείς να το γράψεις πιο απλά:

 

>
for dir in /var/lib/mandriva/kde-profiles/free/share/icons/crystalsvg/*; do cp /home/dimitri/Images/kmenu.png  "${dir}/apps/"; done

 

καταλαβα,

και βαζεις ${dir} επειδη εβαλες στην αρχη [for dir]

την μεταβλητη μπορουμε να την βαλουμε είτε πριν ειτε μετα την εντολη ( θελω να πω επειδη του προσδιοριζουμε στο τέλος την τιμη ${dir}.

 

*χαμος, ενα πραγμα γίνεται με χιλιους δυο τρόπους!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...