【问题标题】:Can't find out if argument is an integer无法确定参数是否为整数
【发布时间】:2013-10-25 09:01:47
【问题描述】:

我是使用 csh/tcsh 编写脚本的初学者,所以我需要你的帮助。我必须查明我的脚本的参数是否在标准输入上正确写入。 例如,我有一些名为“first_script”的脚本,它必须具有这种形式的参数: first_script -d (这是我的问题)--->我怎样才能找出 -d 参数后是否有数字(整数 - 不仅是数字)? 非常感谢您帮助我。

【问题讨论】:

标签: unix csh tcsh


【解决方案1】:

进程只能将字符串作为参数传递,所以你得到的总是一个字符串。您可以将值解释为您需要的值(例如整数)。

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

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

【讨论】:

  • 非常感谢你,你为我节省了很多时间 :) 祝你有美好的一天
猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 2012-02-03
  • 2012-02-13
  • 2010-09-22
  • 2014-04-09
  • 2012-05-18
  • 1970-01-01
  • 2023-01-25
相关资源
最近更新 更多