无法确定参数是否为整数

时间:2013-10-25 09:01:48

标签: unix csh tcsh

我是在csh / tcsh中编写脚本的初学者,这就是我需要你帮助的原因。我必须找出我的脚本的参数是否在stdin上正确写入。 我有一些脚本,例如名为'first_script',必须有这种形式的参数: first_script -d(这是我的问题)--->如果在-d参数之后有数字(整数 - 不仅仅是数字),我怎么能找到? 非常感谢帮助我。

1 个答案:

答案 0 :(得分:0)

进程只能将字符串作为参数传递,因此您将获得的将始终是一个字符串。由您来解释所需的值(例如整数)。

在您的情况下,我认为检查给定字符串是否仅由数字组成可以解决您的问题。有很多方法可以做这个检查,但这是我最喜欢的:

if ( "$1" == "-d" ) then
   expr "$2" : '[0-9]*$' > /dev/null && echo "We have a number" || echo "We have a non-number"
endif