LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 871|回复: 1

busybox 的sh下,id -un 无法获取 用户名

[复制链接]
发表于 2005-11-24 13:06:04 | 显示全部楼层 |阅读模式
busybox 0.60.0 ,使用了默认配置安装,进到 sh下,使用id 命令只能获得用户 id ,不能获得用户名,所以 cd ~ 命令无法正常运行
更换 bash ,也不行,但cd ~ 命令可以执行了,但只能进到 / 目录

哪位知道,shell 环境下,获得依照用户id 获得对应用户名的原理是怎样的?
发表于 2005-11-24 15:12:10 | 显示全部楼层
1:busybox里的id可能不支持详细参数,id --help看一下
2:用sh无法cd ~可能是因为它没有这个机制,你cd看一下到哪里?就光cd别的不要.
3:用bash  cd ~那是因为它支持这个,而到/下是因为你当前用户的home目录是/
用id -u可以或得uid,id -g可以或得gid,

  1. #!/bin/bash
  2. uid=`id -u`
  3. gid=`id -g`
  4. grep "$uid:$gid" /etc/passwd|awk -F":"  '{print $1}'
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表