2016-10-31 2 views

Répondre

1

$HOME élargit le répertoire personnel de l'utilisateur appelant, par exemple, /home/foobar, donc la variable d va juste contenir cette chaîne, pas ce qui est dans le répertoire.

Vous pouvez tirer parti d'un tableau:

#!/bin/bash 
files=("$HOME"/*) 
for f in "${files[@]}"; do 
    echo "$f" 
done 
  • Le tableau files contiendra le nom du contenu à l'intérieur $HOME

  • "${files[@]}" étend aux éléments du tableau files, les citations sont important d'empêcher le fractionnement des mots, et l'expansion du chemin par shell

  • Nous itérez les éléments du tableau en utilisant une boucle for

+0

Merci pour l'aide. J'obtiens une erreur de syntaxe lors de l'utilisation de(). – IBWEV

+0

@IBWEV Quel est le message d'erreur exact? Êtes-vous sur 'bash'? – heemayl

+0

Erreur de syntaxe: "(" inattendu – IBWEV