2013-04-07 4 views
0

Salut les gars J'essaie d'écrire un script shell qui installe java et définit les chemins pour cela. Pour cela j'essayais d'obtenir le dossier racine où j'ai installé Java. J'ai réussi à le faire en utilisant la commande grep. Mon répertoire personnel Java est comme ceci /usr/bin/java. J'ai obtenu le répertoire usr séparément. Maintenant, je veux ajouter /usr chaîne littérale à une variable. Mais il suffit d'ajouter usr avec un espace blanc avant .. Quelqu'un peut-il m'aider avec cela.Comment affecter "/" à une variable dans un script shell

Voici l'exemple que je donne pas le vrai mais ...

directory="/usr/bin/java" 
echo $directory 
IFS=/ 
set $directory 
echo /$2 
t=$'/'$2 
echo $t 
+0

Essayez d'échapper à la barre oblique; '\ /' –

+1

Dites-nous quel shell vous utilisez, qui pourrait aider à obtenir une réponse –

+1

Restaurer 'IFS'! Ou mieux: ne pas jouer avec 'IFS', utilisez simplement:' set - $ {directory // \ //} ' –

Répondre

1

Sous , vous pouvez simplement:

directory="/usr/bin/java" 
set -- ${directory//\// } 
echo /$3 

imprimera:

/java 
+0

J'utilise bash shell @RC –

+0

Je ne veux pas simplement imprimer ... je veux pour le stocker dans une varibale aussi @ F.Hauri –

+0

WoW! Cela a fonctionné @ Allendar ... ty ... –

Questions connexes