Unix Can';t找出参数是否为整数

Unix Can';t找出参数是否为整数,unix,csh,tcsh,Unix,Csh,Tcsh,我是用csh/tcsh编写脚本的初学者,所以我需要你的帮助。我必须找出脚本的参数是否正确地写在stdin上。 我有一些脚本,例如“first_script”,它必须具有以下形式的参数: 首先_script-d(这是我的问题)——>如果-d参数后面有数字(整数-而不仅仅是数字),我怎么才能知道呢? 非常感谢您的帮助。进程只能将字符串作为参数传递,因此您将得到的始终是字符串。由您将值解释为您需要的值(例如整数) 在您的情况下,我认为检查给定字符串是否仅由数字组成可以解决您的问题。有很多方法可以进行此

我是用csh/tcsh编写脚本的初学者,所以我需要你的帮助。我必须找出脚本的参数是否正确地写在stdin上。 我有一些脚本,例如“first_script”,它必须具有以下形式的参数: 首先_script-d(这是我的问题)——>如果-d参数后面有数字(整数-而不仅仅是数字),我怎么才能知道呢?
非常感谢您的帮助。

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

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

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

您可以为此使用
getopts
。检查这个好的答案,看一个例子->非常感谢你,你为我节省了很多时间:)祝你有一个愉快的一天