2016-10-27 5 views
-3

J'ai déjà recherché un débordement de pile, mais rien ne convenait à mon problème. Ce que je voulais faire:Comment travailler dans d'autres répertoires via un script bash?

J'ai un répertoire:

~/data/project/bin 

Dans ce répertoire est mon script firstScript.sh. Je veux faire 3 choses:

  1. entrer dans le répertoire: ~/mytest
  2. prendre tous les fichiers y
  3. et utiliser une commande sur elle (par exemple cat)

Pour réaliser la première étape, j'ai trouvé this question et essayé ceci (utilisé comme ls -l commande pour voir si le bon répertoire a été trouvé):

#!/bin/bash 

#step 1 get into the directory 
#setp 2 loop through all files 
#step 3 add the command 

cd /mytest ls -l 

#also tried: 
# cd ~/mytest ls -l 

Rien ne s'est passé, alors j'ai essayé le chemin et la commande par moi-même dans la console/terminal et c'est le chemin correct à coup sûr. Toute idée quel est le problème avec ceci? Aussi essayé avec ./relativ/path, mais cela n'a pas fonctionné aussi bien.

+1

Votre code manque le symbole du tilde. En outre, vous devez séparer les différentes commandes avec un point-virgule ou avec une nouvelle ligne: 'cd ~/mytest; ls -l' – Leon

+0

ouais je vois, le message d'erreur n'apparaît plus, mais ls -l n'est pas exécuté – nova

Répondre

1
  1. entrer dans le répertoire: ~/mytest cd ~/mytest
  2. et utiliser une commande sur elle (par exemple cat) cat
  3. prendre tous les fichiers y cat *

cd ~/mytest; cat *

+0

merci, et sry pour cette question facile mais je suis totalement nouveau à cela. – nova

+1

Il suffit de parcourir ce site de haut en bas et d'utiliser la recherche. Vous apprendrez. –

+1

J'ai utilisé la recherche ... J'ai même aimé ce que je pensais être la solution. – nova