最近linux老师要求我们用shell编写一段代码,实现在新建用户目录下下,再新建文件,并写入相应内容。闲来无事,就把简单教程和代码发到这里了,反正知道这个网站的人也不多!嘿嘿

 

PS:其实实现方法有很多,这只是其中一种,仅供参考。

方法如下:

先将用户切换到管理员:

可按执行su – 再输入管理员密码可切换到,或者直接登录时用管理员账户登录

编辑一个内容如下的源程序,保存文件名为test(名称可任意)。

[root@localhost]#vi test

此时已建立了一个名为test的文件,且进入了vi编辑器,按 i,进入编辑模式

将如下代码输入

以下内容需要评论回复后方可阅读:

#!/bin/sh
echo "input your name:"
read yourname
useradd $yourname
echo "welcome to here!">/home/$yourname/welcome.txt
chmod 444 /home/$yourname/welcome.txt

 此时按ESC键,再按:x保存并退出文件。

现在我说说每行的功能,

第一行,#!/bin/sh通知使用sh编译,如果改为#!/bin/bash也能编译,只不过用的是bash编译的,具体区别我也不很明白,反正都行。

第二行是接受输入的yourname值的,第三行的useradd+参数,就是添加用户的,$yourname是参数,取刚才得到的值呗。

第四行就是将字符串写到welcome.txt的,没有的话就自己创建了,还可以用echo “welcome to Redhat!”>>/home/$yourname/welcome.txt实现,就是利用了重定向之类的,忘了说一下了,echo意思是回显,就是显示字符串的~

第五行,将welcome.txt属性改为只读。只读是444或者用

 

chmod u=r-- welcome.txt
chmod g=r-- welcome.txt
chmod o=r-- welcome.txt

即分别为所属用户、所属组和其他用户设置只读权限!当然路径别忘了加上。

然后为这个文件,加上可执行属性,并执行

chmod +x test
./test

输入你名字,按回车,就运行完了!

你可以去home目录下找到你建的用户,和文件夹。额,一看代码,还不到十行,是不是做错了?

 

 

 

转载请注明:爱自己网 » 在shell下实现新建用户和文件

觉得文章不错就分享给朋友们吧!