首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >巴什文件-如果-

巴什文件-如果-
EN

Stack Overflow用户
提问于 2013-11-03 15:29:26
回答 2查看 99关注 0票数 0

我想为我的组织创建一个登录脚本,脚本需要通过Group id来发现用户,然后在他们的计算机上定义他们需要的地图驱动器。

我开始写剧本,看起来是这样的:

代码语言:javascript
复制
ID
if [gid=10524657]
then
    mkdir /home/likewise-open/Domain/Username/Desktop/Share
    sudo mount.cifs //fs01/salesnew /home/likewise-open/Domain/Username/Desktop/share -o user=X
else [gid=41654564] (etc....)

这是我第一次用Ubuntu写剧本,

你能告诉我我做错了什么吗?

Linux可以从ID命令中识别gid吗?如果不是,另一种选择是什么?

有人能告诉我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-03 15:50:29

哦,从哪里开始..。

首先,*nix系统几乎总是区分大小写的,所以它是id而不是ID

第二,id -g会给你GID。

第三,您可能希望在变量中捕获id -g的值:

代码语言:javascript
复制
GID=$(id -g)

然后,您需要遵循bash中if语句的适当形式:

代码语言:javascript
复制
if [ "$GID" == "10524657" ]
then
   # do something
elif [ "$GID" == "41654564" ]
then
   # do something else
else
   # do the other thing
fi

在这之后,您应该考虑到sudo命令可能是交互式的,因此脚本将停止,等待用户交互,但运行于它可能无法访问的脚本tty (read:来自用户交互的输入)。

所以请从bash脚本基本介绍开始

票数 2
EN

Stack Overflow用户

发布于 2013-11-03 15:47:00

首先,请注意,[]实际上是保留的单词,因此,您将需要它们周围的空格(或分号或任何分隔单词的内容)。

你可以像这样得到你的有效服务

代码语言:javascript
复制
GID=`id -g`

那你就可以

代码语言:javascript
复制
if [ "$GID" == "10524657" ]; then
    # some stuff
elif [ "$GID" == "41654564" ]; then
    # other stuff
else
    # else stuff
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19754622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档