我想为我的组织创建一个登录脚本,脚本需要通过Group id来发现用户,然后在他们的计算机上定义他们需要的地图驱动器。
我开始写剧本,看起来是这样的:
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吗?如果不是,另一种选择是什么?
有人能告诉我吗?
发布于 2013-11-03 15:50:29
哦,从哪里开始..。
首先,*nix系统几乎总是区分大小写的,所以它是id而不是ID。
第二,id -g会给你GID。
第三,您可能希望在变量中捕获id -g的值:
GID=$(id -g)然后,您需要遵循bash中if语句的适当形式:
if [ "$GID" == "10524657" ]
then
# do something
elif [ "$GID" == "41654564" ]
then
# do something else
else
# do the other thing
fi在这之后,您应该考虑到sudo命令可能是交互式的,因此脚本将停止,等待用户交互,但运行于它可能无法访问的脚本tty (read:来自用户交互的输入)。
所以请从bash脚本基本介绍开始
发布于 2013-11-03 15:47:00
首先,请注意,[和]实际上是保留的单词,因此,您将需要它们周围的空格(或分号或任何分隔单词的内容)。
你可以像这样得到你的有效服务
GID=`id -g`那你就可以
if [ "$GID" == "10524657" ]; then
# some stuff
elif [ "$GID" == "41654564" ]; then
# other stuff
else
# else stuff
fihttps://stackoverflow.com/questions/19754622
复制相似问题