2010-01-04 6 views
2

J'ai tenté d'exécuter le script bash suivant sur ma tablette Internet (Nokia N810 sous Maemo Linux). Cependant, il ne semble pas qu'il fonctionne, et je n'ai aucune idée de ce qui ne va pas avec ce script (il fonctionne sur mon système Ubuntu si je change les répertoires). Ce serait génial de recevoir des commentaires sur cette expérience ou des expériences similaires de ce problème. Merci.Exécution de shell bash dans Maemo

WORKING="/home/user/.gpe" 
SVNPATH="/media/mmc1/gpe/" 

cp calendar categories contacts todo $WORKING 

Répondre

1

Il est utile d'inclure des détails sur les messages d'erreur ou un comportement différent de ce qui est attendu et de quelle manière.

Si $ WORKING contient le nom d'un répertoire, caché ou non, alors le cp devrait copier ces quatre fichiers dans celui-ci. Alors ls -l /home/user/.gpe devrait les montrer plus n'importe quoi d'autre là dedans, indépendamment du fait qu'il soit "caché".

Par ailleurs, le point initial dans un nom de fichier ou le répertoire n'a pas vraiment « cacher » l'entrée, il est juste que ls et echo * et des commandes similaires ne les montrent pas, alors que ceux-ci font:

ls -la 
ls -d .* 
ls -d {.*,*} 
echo .* 
echo {.*,*} 
+0

À l'origine, je ne pouvais pas voir les messages d'erreur de l'exécution de mon script. Je peux incorporer vos suggestions et les essayer. Je vous ferai savoir à quel point cela fonctionne une fois que j'ai fait les changements. – stanigator

1

La bash cp commande peut copier plusieurs sources vers une destination unique, si elle est un répertoire.

Le répertoire /home/user/.gpe existe-t-il?

Gardez à l'esprit que le point de premier plan dans le nom peut faire caché sauf si vous utilisez ls -a

J'ai essayé vos commandes Cygwin:

Mais je .gpe au lieu de /home/user/.gpe

J'ai fait un touch calendar categories contacts todo pour créer les fichiers.

Cela a bien fonctionné. Que se passe-t-il réellement lorsque vous exécutez votre script?

+0

Le répertoire de travail à ce moment-là est SVNPATH = "/ media/mmc1/gpe /", donc inutile d'essayer SVNPATH. /home/user/.gpe existe, mais c'est un fichier caché. – stanigator

+0

Mais pour que 'cp' fonctionne comme vous voulez, $ WORKING doit être un répertoire. C'est 'cp fichier1 fichier2 fichier3 fichier4 répertoire'. Si '.gpe' est un fichier (caché), cela ne fonctionnera pas. – pavium

+0

Y at-il un moyen de faire ce travail si? Je veux le faire fonctionner. Y at-il un moyen facile de faire. Gpe pas un répertoire caché? – stanigator

1

Si c'est l'intégralité de votre script, il en manque deux. trois possibles, les choses:

  • Une ligne shebang, comme #!/bin/sh au début
  • Utilisation de SVNPath $. Vous voulez probablement cd $SVNPATH avant la commande cp. Votre script ne doit pas supposer que le répertoire de travail actuel est correct.
  • Peut-être l'autorisation d'exécution sur le script: chmod a+x script
1

Avez-vous déjà le présent répertoire /home/user/.gpe? Et aussi, essayez d'ajouter un paramètre -R afin que les répertoires soient copiés récursivement.