在 unix 中创建参数

在 unix 中创建参数

如何在 unix 中创建参数。

我必须创建一个 shell 程序,它接受用户 ID 作为参数来查看另一个用户会话的状态。

我的问题是“将用户 ID 作为参数”

这是为了bash。

答案1

对于 shell,参数被称为位置参数,即您可以将它们一个接一个地插入到文件名之后,并通过它们插入的位置到达每个参数。

位置参数 0 始终是脚本的(文件)名称,并且给出的参数从 1 开始。因此您可以通过 获取第一个参数$1,通过 获取第二个参数$2,依此类推。

例如:

% foo () { printf '%s\n' "First: "$1" and Second: "$2"" ;}  

% foo spam egg
First: spam and Second: egg

要在语句中使用它if,仅考虑第一个参数$1(其他参数也同样如此):

if [ "$1" = "foo" ]; then
    ## Dome something
else
    ## Do something else
fi

假设您将其放在名为 的脚本中foobar.sh。现在您可以运行该脚本:

./foobar.sh foo
./foobar.sh bar
./foobar.sh blahblah

在三种情况下,的值分别$1foobar、 。blahblah

答案2

如果我从您对 heemayl 答案的评论中推断正确,您正在寻找一种获取当前用户的方法,请使用$USER.

$USER变量以字符串形式返回当前用户。

#!/bin/bash
if [ "$USER" == <something else> ]; then
    #do something IF the current user is equal to whatever string you compare it to
else
    #do something else IF the current user is not equal to whatever string you compare it to
fi

PS:Unix SE 并不是提出家庭作业问题的合适地方。除了合法的问题之外,如果您对某个主题有疑问,最好先询问您的老师。

相关内容