编写shell脚本从/etc/passwd文件中读取该文件的后5行内容。 1)先检查/etc/passwd文件是否存在,否则打印“the file doesn't exist” 2)再检查/etc/passwd文件是否有可读权限,否则打印“sorry ,I unable to read the xx file” 分别给passwd文件赋予读权限,去掉passwd的只读权限,执行脚本,打印结果截图
时间: 2024-01-12 17:05:08 浏览: 121
好的,以下是符合要求的shell脚本代码:
```
#!/bin/bash
if [ ! -e /etc/passwd ]; then
echo "the file doesn't exist"
elif [ ! -r /etc/passwd ]; then
echo "sorry, I unable to read the /etc/passwd file"
else
tail -n 5 /etc/passwd
fi
```
你可以将以上代码保存为一个.sh文件,然后在终端中使用chmod命令给该文件赋予可执行权限,如下所示:
```
chmod +x filename.sh
```
然后使用以下命令执行该脚本:
```
./filename.sh
```
如果你想要测试一下这个脚本的输出,可以使用以下命令在/etc/目录下创建一个空的passwd文件,然后给该文件赋予读权限:
```
touch /etc/passwd
chmod +r /etc/passwd
```
然后在该文件中添加一些文本内容,以便能够看到tail命令的输出效果。最后执行脚本,即可看到输出结果。
相关问题
编写shell脚本从/etc/passwd文件中读取该文件的后5行内容
好的,这个问题是关于技术的,我可以回答。您可以使用 tail 命令来获取文件的最后几行。具体地,您可以使用以下命令来获取 /etc/passwd 文件的最后 5 行:
tail -n 5 /etc/passwd
请注意,-n 选项用于指定要显示的行数。
shell脚本3. 设计一个程序,要求打开文件“pass”,如果没有这个文件,新建此文件,在读取系统文件“/etc/passwd”,把文件的内容都写入“pass”文件。
好的,这是一个编程问题,我会尽力回答。以下是参考代码:
```shell
#!/bin/bash
if [ ! -f pass ]; then
touch pass
fi
cat /etc/passwd > pass
```
这个程序首先检查当前目录下是否有名为“pass”的文件,如果没有则创建一个。然后它会将系统文件“/etc/passwd”的内容复制到“pass”文件中。
希望这可以帮到你。
阅读全文