编写shell脚本/exam.sh,实现以下几个功能。 (1)输出“Hello,my name is Peter.”; (2)生成一新文件/hello,第一行为“Hello,my name is Peter.”; (3)查找/etc/passwd文件中包含root字符串的行,保存在/hello的第二行; (4)使/exam.sh可以执行,并执行该程序。
时间: 2024-03-17 14:43:17 浏览: 21
好的,以下是/exam.sh的代码实现:
```shell
#!/bin/bash
# 输出"Hello,my name is Peter."
echo "Hello,my name is Peter."
# 生成新文件/hello,第一行为"Hello,my name is Peter."
echo "Hello,my name is Peter." > /hello
# 查找/etc/passwd文件中包含root字符串的行,保存在/hello的第二行
grep root /etc/passwd >> /hello
# 使/exam.sh可以执行,并执行该程序
chmod +x exam.sh
./exam.sh
```
请注意,在第三步中,使用了`>>`而不是`>`来将匹配到的行追加到/hello文件中的第二行中,因为使用`>`将会覆盖第一行的内容。
相关问题
shell source ../../../xxx.sh命令是干什么的
shell中的source命令用于在当前shell环境中执行指定的脚本文件(以.sh为扩展名)。在执行source命令后,脚本文件中定义的变量、函数和别名将在当前shell环境中生效,而不是在一个子shell中执行。这使得可以在当前shell环境中加载和使用脚本文件中定义的内容,而不需要创建一个新的子shell。通常,source命令用于加载配置文件或其他需要在当前shell环境中生效的脚本。
7.编写shell脚本test07.sh实现如下功能:生成一个长度为50的随机数组,将其中的偶数当前目录下的mytest07目录中的abc.txt中。
好的,请按照以下步骤操作:
1. 首先在当前目录下创建一个名为mytest07的文件夹,可以使用以下命令:
```
mkdir mytest07
```
2. 然后编写shell脚本test07.sh,可以使用以下代码:
```bash
#!/bin/bash
# 生成长度为50的随机数组
arr=()
for ((i=0;i<50;i++))
do
arr[i]=$((RANDOM%100))
done
# 将偶数写入abc.txt文件中
for ((i=0;i<50;i++))
do
if [[ $((arr[i]%2)) -eq 0 ]]
then
echo ${arr[i]} >> ./mytest07/abc.txt
fi
done
```
3. 接着给test07.sh文件执行权限,可以使用以下命令:
```
chmod +x test07.sh
```
4. 最后执行test07.sh脚本,可以使用以下命令:
```
./test07.sh
```
执行完成后,当前目录下的mytest07目录中的abc.txt文件中将会包含随机数组中的所有偶数。