Pages : 1
#1 Le 18/07/2014, à 20:56
- x@v
condition dans un shell
Bonjour,
Qhand te test ma condition j'ai une erreur !
./test
you want some post by default(100 maximum)
34
./test: line 4: if[34 -gt 0]: command not found
#! /bin/bash -e
echo 'you want some post by default(100 maximum)'
read post
if["$post" -gt "0"]
then
echo 'creating post $post'
else
echo 'creating post $post'
fi
Dernière modification par x@v (Le 18/07/2014, à 20:57)
[-- qwerty user --]
Hors ligne
#2 Le 18/07/2014, à 20:58
- Postmortem
Re : condition dans un shell
Salut,
Il manque des espaces :
if [ $post -gt 0 ]
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#3 Le 18/07/2014, à 21:02
- x@v
Re : condition dans un shell
ne fonctionne pas
./test
you want some post by default(100 maximum)
4
./test: line 4: if[ 4 -gt 0 ]: command not found
Dernière modification par x@v (Le 18/07/2014, à 21:12)
[-- qwerty user --]
Hors ligne
#4 Le 18/07/2014, à 21:21
- metalux
Re : condition dans un shell
Salut,
Il manque également un espace après le if
Hors ligne
#5 Le 18/07/2014, à 21:23
- pires57
Re : condition dans un shell
le scripting shell c'est con et discipliné, si tu respectes pas EXACTEMENT la syntaxe il t'envois chier
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#6 Le 18/07/2014, à 21:31
- x@v
Re : condition dans un shell
en un mot c'est casse couille ou sinon comme ca tout fonctionne:
#!/usr/bin/env bash
read -rp "You want som post by default (100 maximum): " post
if [[ $post = *[!0-9]* ]]; then # if post contains any non-digits
printf >&2 'Invalid input\n'
elif (( post < 0 || post > 100 )); then
printf >&2 '%d is out of range (0-100)\n' "$post"
else
#printf 'Creating post %d\n' "$post"
curl http://loripsum.net/api/5 | wp post generate --post_content --count=10
fi
Dernière modification par x@v (Le 18/07/2014, à 21:32)
[-- qwerty user --]
Hors ligne