如何在shell中声明变量,从用户读取输入并输出结果?

时间:2013-03-25 07:40:16

标签: shell unix arguments

我是UNIX世界的新手。我们的老师让我们自己学习一切,我必须在课堂上遗漏一些东西。我只知道C#并习惯了文本框。我有一个名为likes的文件,当我抓住它时会显示以下内容:

dave,coors
mike,bud
linda,coors
gary,miller
mike,miller
sally,coors
dave,bud
sally,miller

我在名为drinks的bin中创建了一个文件。执行drinks时,我需要以下内容作为输出。

$ drinks dave
dave likes to drink:

coors
bud

total number of beers dave likes to drink: 2

如果我运行drinks sally,则输出需要与sallys匹配。

如何在向脚本执行文件时声明一个将在shell上输入名称的变量?

1 个答案:

答案 0 :(得分:0)

您可以通过变量$1(第一个arg),$2(第二个arg),...,${42}(四十二个arg)来引用shell脚本的参数。< / p>

drinks脚本中,您可以使用$1引用该名称。

#!/bin/sh
if test $# = 0; then
    # User forgot to provide a name.
    printf '%s\n' "usage: $0 name" >&2
    exit 1
fi
printf '%s\n' "$1 likes to drink"
# Rest of code left as an exercise.