Bonjour à tous,
je dispose d'un script shell bash qui fonctionne et qui est pas tres compliqué, vraiment du bash de base avec quelques lignes sed et awk
comment puis je le transformer en script ksh (pour aix) ?
merci d'avance
Version imprimable
Bonjour à tous,
je dispose d'un script shell bash qui fonctionne et qui est pas tres compliqué, vraiment du bash de base avec quelques lignes sed et awk
comment puis je le transformer en script ksh (pour aix) ?
merci d'avance
Il y a peu de différences entre bash et ksh.
S'il n'est pas très compliqué, comme tu le dis, le plus simple est de l'exécuter avec ksh et corriger les éventuelles erreurs que tu rencontreras.
Même chose avec sed et awk sous AIX. Ce sont des versions POSIX de ces utilitaires. Il suffit donc de repérer les options non POSIX pour les remplacer.
j'ai modifié le début du script comme ceci :
#!/bin/ksh
et j'ai tapé en console : ksh
puis je l'ai exécuté.
tout à fonctionné mais j'ai fais ce test sous linux :x
A partir du moment ou tu n'utilises pas des spécificités du bash. built-in /globing ... etc. Tu peux sans soucis remplacer ton #!/bin/bash par #!/bin/ksh
je n'utilise que des if, for, awk, sed, nestat, echo, quelques redirection de flux avec | et > donc je pense que ça devrait pas poser de probleme.
l'option -i de sed ne fonctionne pas :(
comment s'en passer ?
exemple :
Code:sed -i -e 's/^\(password.*sufficient\).*$/&1 remember=4/g' system-auth-ac
En créant un fichier temporaire.
la technique du fichier temporaire fonctionne mais la je tombe sur des commande bash sed avec l'option a pour insérer une ligne après une autre contenant tel ou tel chaine.
il existe une technique pour inserer une ligne apres une autre sans l'option a ?
merci d'avance
vous pensez que c'est faisable avec ça :? (saut de ligne)Code:.*\n