Domanda
Ho tentato di eseguire il seguente script bash sul mio Internet Tablet (Nokia N810 Maemo in esecuzione su Linux). Tuttavia, non sembra che è in esecuzione, e non ho idea di cosa c'è di sbagliato in questo script (che gira sul mio sistema Ubuntu se cambio le directory). Sarebbe bello ricevere qualche feedback su questo o simili esperienze di questo problema. Grazie.
WORKING="/home/user/.gpe"
SVNPATH="/media/mmc1/gpe/"
cp calendar categories contacts todo $WORKING
Soluzione
Che cosa succede in realtà quando si esegue lo script? E 'utile se si includono dettagli di messaggi di errore o un comportamento diverso da quello che ci si aspetta e in che modo.
Se $ LAVORO contiene il nome di una directory, nascosto o no, allora il cp
dovrebbe copiare i quattro file in esso. Poi ls -l /home/user/.gpe
li dovrebbe mostrare più qualunque altra cosa è in là, a prescindere dal fatto che è "nascosto".
Tra l'altro, il punto iniziale di un nome di file o directory non realmente "nascondere" la voce, è solo che ls
e echo *
e comandi simili non li mostrano, mentre questi fanno:
ls -la
ls -d .*
ls -d {.*,*}
echo .*
echo {.*,*}
Altri suggerimenti
Il comando bash cp
possono copiare più fonti per una singola destinazione, se si tratta di una directory.
La directory del /home/user/.gpe
esiste?
Si tenga presente che il punto davanti al nome può rendere nascosto a meno che non si utilizza ls -a
Ho provato i comandi in Cygwin:
Ma ho usato .gpe
invece di /home/user/.gpe
Ho fatto un touch calendar categories contacts todo
per creare i file.
Ha funzionato bene.
Se questo è la totalità dello script, che manca due. possibile a tre, le cose:
- baracca linea, come
#!/bin/sh
all'inizio - L'utilizzo di $ SVNPath. Probabilmente si desidera
cd $SVNPATH
prima del comandocp
. Lo script non dovrebbe assumere la directory di lavoro corrente è corretta. - Forse il permesso di esecuzione alla sceneggiatura:
chmod a+x script
Hai già la directory /home/user/.gpe presente? E anche, provare ad aggiungere un parametro -R in modo che le directory vengono copiati in modo ricorsivo.