J'ai la variable suivante.
echo "|$COMMAND|"
qui renvoie
|
REBOOT|
Comment puis-je supprimer ce premier saut de ligne ?
J'ai la variable suivante.
echo "|$COMMAND|"
qui renvoie
|
REBOOT|
Comment puis-je supprimer ce premier saut de ligne ?
Si vous utilisez bash avec l'option extglob activée, vous pouvez supprimer uniquement les espaces vides en fin de ligne via :
shopt -s extglob
COMMAND=$'\nRE BOOT\r \n'
echo "|${COMMAND%%*([$'\t\r\n '])}|"
Cela produit :
|
RE BOOT|
Ou remplacez %% par ## pour remplacer uniquement les espaces vides en début de ligne.
Pour résoudre l'une des causes potentielles du problème réel, il est possible que vous utilisiez un fichier crlf.
Exemple de CRLF :
.env (crlf)
VARIABLE_A="abc"
VARIABLE_B="def"
run.sh
#!/bin/bash
source .env
echo "$VARIABLE_A"
echo "$VARIABLE_B"
echo "$VARIABLE_A $VARIABLE_B"
Renvoie :
abc
def
def
Cependant, si vous convertissez en LF :
.env (lf)
VARIABLE_A="abc"
VARIABLE_B="def"
run.sh
#!/bin/bash
source .env
echo "$VARIABLE_A"
echo "$VARIABLE_B"
echo "$VARIABLE_A $VARIABLE_B"
Renvoie :
abc
def
abc def
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.