[Bash] Utilisation variable avec Head
Résolu
Jaime
-
Jaime -
Jaime -
Bonjour,
je débute sous Linux, et tente de scripter une commande de type "head".
Seulement, impossible de passer par une variable. J'ai cherché en vain sur pas mal de tuto, mais pas moyen.
Voici mon code :
#!/bin/bash
var=2
head -n $var products1.xml >> productstest.xml
le message d'erreur : Invalide number of lines
Quand je tente de mettre le nombre en dur, cela fonctionne en revanche.
J'ai tenté de typer ma variable, changer de Shell, mais rien n'y fait.
Dans les tutos, le code est identique...
Où pourrait se situer le problème selon vous ?
Merci d'avance pour votre aide
je débute sous Linux, et tente de scripter une commande de type "head".
Seulement, impossible de passer par une variable. J'ai cherché en vain sur pas mal de tuto, mais pas moyen.
Voici mon code :
#!/bin/bash
var=2
head -n $var products1.xml >> productstest.xml
le message d'erreur : Invalide number of lines
Quand je tente de mettre le nombre en dur, cela fonctionne en revanche.
J'ai tenté de typer ma variable, changer de Shell, mais rien n'y fait.
Dans les tutos, le code est identique...
Où pourrait se situer le problème selon vous ?
Merci d'avance pour votre aide
A voir également:
- Head bash
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
14 réponses
J'avais déjà testé avec les simples et doubles quote pour le même résultat :/
Je suis en train de me demander si il ne s'agit pas d'un souci de shell ou autre vu que la syntaxe semble correcte.
Je suis en train de me demander si il ne s'agit pas d'un souci de shell ou autre vu que la syntaxe semble correcte.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Rajoute ces 2 lignes (en gras) et exécute ton scripts et dis-nous ce qu'il en ressort...
#!/bin/bash set -xv var=2 echo "$var" head -n "$var" products1.xml >> productstest.xml
Merci de ton aide =)
Apparement il n'apprécie pas le set.
Voici le message :
: invalid option2: set: -
set: usage: set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
Apparement il n'apprécie pas le set.
Voici le message :
: invalid option2: set: -
set: usage: set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
Y'a un problème quelque part avec ton shell ;-((
La commande "set" est une commande interne au bash, et les 2 paramètres "-xv" sont ce qu'il y a de plus commun et d'utilisé ;-\
Que te renvoie les commandes :
La commande "set" est une commande interne au bash, et les 2 paramètres "-xv" sont ce qu'il y a de plus commun et d'utilisé ;-\
Que te renvoie les commandes :
echo $SHELL cat /etc/shells
Arf, c'est ce que je suspectais :/
Voici pour les commandes :
echo $SHELL
/bin/bash
cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/ksh
/bin/tcsh
/bin/csh
Voici pour les commandes :
echo $SHELL
/bin/bash
cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/ksh
/bin/tcsh
/bin/csh
ah non, je l'ai écrit via le bloc note windows, et le fichier script.sh est copié sur un DD partagé.
Cela pourrait poser souci ?
Cela pourrait poser souci ?
Oups oui en effet, problème à ce niveau
cat -A ton_script
cat: not found
Merci de l'aide !
Je vais essayer de scripter directement via linux alors =)
cat -A ton_script
cat: not found
Merci de l'aide !
Je vais essayer de scripter directement via linux alors =)