LINUX.ORG.RU

Вопрос по bash


0

1

Как скрипту однозначно установить, является ли переменная целым числом и в зависимости от этого продолжить работу или выдать сообение об ошибке?

★★

if ! expr "x$X" : "\(x-\|x\)[0-9][0-9]*$" > /dev/null; then
  echo not an integer 1>&2
  exit 1
fi
dilmah ★★★★★
()

Посмотри в сторону declare. Только он не выбрасывает исключения (вроде бы).

KblCb ★★★★★
()
Ответ на: комментарий от dilmah

О, тогда в моём варианте надо так:

[[ ! $VAR =~ ^.*\..*$ ]]

Вроде ОК.

GotF ★★★★★
()
Ответ на: комментарий от dilmah

Автор просит bash, я предлагаю решение на чистом bash :)

GotF ★★★★★
()

на вентилятор...

#!/bin/bash

VAR="..."

/usr/bin/python  << EOF

from sys import argv,exit

try:
    int("${VAR}")

except:
    exit(1)
EOF

if [[ $? == 0 ]] ; then ...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.