Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Syntaxe des alias dans bash

3 réponses
Avatar
Herve
Bonjour,

Il y a bien longtemps j'avais mis dans mon .profile la ligne suivante :
alias mac2unix=3D'perl -pi -e 's/\r\n?/\n/g''

qui me permettait en tapant "mac2unix fichier" de transformer les fins
de lignes mac en fins de ligne unix dans "fichier".
Ca ne marche plus.
Par contre si je tape directement la ligne :
perl -pi -e 's/\r\n?/\n/g' fichier
=E7a marche.
J'en d=E9duis que la syntaxe de mon alias n'est plus compatible avec le
shell de Panther.
Quelle est la bonne syntaxe ?

Et tant qu'on y est, Apple a-t-il _encore_ chang=E9 le shell par d=E9faut
dans Tiger ?

Herv=E9

3 réponses

Avatar
Nicolas.MICHEL
Herve wrote:

Bonjour,

Il y a bien longtemps j'avais mis dans mon .profile la ligne suivante :
alias mac2unix='perl -pi -e 's/rn?/n/g''


Il y a 4 "'", c'est sans doutes ça le problème amha.

perso, je tenterais
alias mac2unix='perl -pi -e "s/rn?/n/g"'
ou
alias mac2unix="perl -pi -e 's/rn?/n/g'"
ou encore
alias mac2unix='perl -pi -e 's/rn?/n/g''

(pas testé)

--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas

Avatar
laurent.pertois
Herve wrote:

Et tant qu'on y est, Apple a-t-il _encore_ changé le shell par défaut
dans Tiger ?


Non, c'est toujours bash, par contre ils ont rajouté ksh comme shell
dispo.

Sinon, pour transformer les fins de ligne, j'aime bien tr, mais ça ne te
donne toujours pas la syntaxe, il est vrai.

--
Politically Correct Unix - UTILITIES
The "touch" command has been removed from the standard distribution due
to its inappropriate use by high-level managers.

Avatar
blanc
Herve wrote:

Il y a bien longtemps j'avais mis dans mon .profile la ligne suivante :
alias mac2unix='perl -pi -e 's/rn?/n/g''


Attention au "quoting" :

alias mac2unix="perl -pi -e 's/rn?/n/g' "

devrait marcher.

C'est des apostrophes (simples quotes) autour de l'expression à
neutraliser (vis à vis du shell) pour l'envoyer à perl : 's/rn?/n/g'

C'est des guillemets (doubles quotes) autour de l'expression complète de
l'alias (j'ai mis une espace pour qu'on les distingue mieux).

On peux aussi inverser les deux types (dans ce cas).

JPaul.


--
/==/==- Jean-Paul BLANC
/ /--/--// quelque-part (somewhere)
|/| L | en (in)
/|| = ||| FRANCE