OVH Cloud OVH Cloud

Effacer la derniere ligne d'un fichier

25 réponses
Avatar
Lionel
Bonjour,

Je veux programmer dans un cron l'actualisation du
fichier /etc/ssh/ssd_config ou je mets à la fin une ligne AllowUsers .....
avec la liste des utilisateurs ayant modifié le mot de passe par défaut du
serveur. J'ai fait un script qui génere la liste des utilisateurs dans un
fichier, je voudrais faire un truc du style:

"efface la derniere ligne de /etc/ssh/ssd_config"
echo -h "AllowUsers " >> /etc/ssh/ssd_config
cat fichier >> /etc/ssh/ssd_config
/etc/init.d/ssh restart

Problème: je n'ai pas trouvé comment faire "efface la derniere ligne
de /etc/ssh/ssd_config"

Merci pour votre aide.

Lionel.

5 réponses

1 2 3
Avatar
Bernard Déléchamp
Jacques Lav!gnotte (Drop Dr NO) wrote:

Bien sûr avec des grep, sed, awk et autres on doit pouvoir y arriver
pour un T.P, mais dans la vraie vie... ;-)



La vraie vie Unix c'est grep, sed, et awk quand on ne peut pas faire
autrement.


Entièrement d'accord, mais sur ce coup là, on peut faire autrement, pour
remplacer la dernière ligne d'un fichier, s'entend. Quant à la
résolution du problème d'autorisation, comme suggéré par d'autres...

--
L'Europe se rapproche de l'Amérique d'un centimètre par siècle.
Pourtant le prix de la traversée reste le même.
François Cavanna


Avatar
David
Le Sun, 22 Jan 2006 09:22:44 +0100, Lionel a écrit :
#!/bin/bash
cat /dev/null > /root/changes
^ ^ ^ ^ ^ ^

A quoi cela sert-il ?

Avatar
Jacques Lav!gnotte (Drop Dr NO)

#!/bin/bash
cat /dev/null > /root/changes



# > /root/changes moins portable

^ ^ ^ ^ ^ ^
A quoi cela sert-il ?


#!/bin/bash

Le script utilisera le shell « bash »

cat /dev/null > /root/changes



# > /root/changes moins portable

Crée un fichier vide


# touch <file>

le fait aussi.


Jacques


Avatar
Lionel
David wrote:

Le Sun, 22 Jan 2006 09:22:44 +0100, Lionel a écrit :
#!/bin/bash
cat /dev/null > /root/changes
^ ^ ^ ^ ^ ^

A quoi cela sert-il ?


En général à "vider" le fichier sans l'effacer, mais dans ce cas, c'est vrai
que ce n'était pas indispensable.


Avatar
lhabert
Lionel :

David wrote:

Le Sun, 22 Jan 2006 09:22:44 +0100, Lionel a écrit :
#!/bin/bash
cat /dev/null > /root/changes
^ ^ ^ ^ ^ ^

A quoi cela sert-il ?


En général à "vider" le fichier sans l'effacer, mais dans ce cas, c'est vrai
que ce n'était pas indispensable.


Je pense que David suggérait qu'il y a des moyens un peu moins hackesques de
faire la même chose, par exemple « : > /root/changes » (« : » est un builtin
qui ne fait rien).



1 2 3