![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Shell Vos questions sur l'utilisation des commandes shell |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: février 2004
Messages: 56
|
Bonjour,
J'ai un script tout con Code :
#!/bin/ksh echo "$1" Je penssais obtenir à l'écran; c:\nindows mais au lieu de ça j'obtiens: c: indows Comment résoudre ce petit problème? La seule methode qui me donne le résultat que je veux est: ./test.sh "c:\\\\nindows" qui est bien sur impossible à mettre en place. Je suis sous SunOS 5.6 mais ce script devra fonctionner sur d'autres Unix Ludo |
|
|
|
|
|
#2 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2007
Localisation: Toulouse
Messages: 471
|
Manifestement, ton shell interprète le caractère backslash
![]() Et pour lui, \n signifie NewLine. Regarde dans le man les options de echo. Par exemple, en bash, echo -E "c:\nindows" empêche le shell de traduire \n par NewLine Extrait du man : Code :
.../...
-n do not output the trailing newline
-e enable interpretation of backslash escapes
-E disable interpretation of backslash escapes (default)
.../...
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. Dernière modification par gangsoleil ; 04/08/2008 à 17h52 Motif: quote en trop :) |
|
|
|
![]() |
![]() |
||
Suppression des \ dans mon script
|
||
| Outils de la discussion | |
|
|