用linux创建一个shell脚本,当它运行时显示你的身份和目录
时间: 2024-03-13 22:42:43 浏览: 159
好的,以下是创建该Shell脚本的步骤:
1. 打开终端,创建一个新文件并更改其权限:
```
touch myscript.sh
chmod +x myscript.sh
```
2. 使用文本编辑器(如nano、vim等)打开文件并添加以下内容:
```
#!/bin/bash
echo "当前用户为:$(whoami)"
echo "当前目录为:$(pwd)"
```
3. 保存并关闭文件。
4. 在终端中运行脚本:
```
./myscript.sh
```
该脚本将显示当前用户和目录。
相关问题
linux使用systemd去守护一个shell脚本的运行的案例
在 Linux 中,可以使用 systemd 来管理和守护一个 shell 脚本的运行。systemd 是 Linux 的新一代系统初始化和服务管理器,可以用来启动、停止、重启和守护一个程序或服务。
下面是一个简单的例子,演示如何使用 systemd 来守护一个 shell 脚本的运行。
1. 创建一个 shell 脚本,比如说叫做 `myscript.sh`,并确保它有可执行权限:
```
#!/bin/bash
while true
do
echo "Hello World"
sleep 10
done
```
这个脚本会无限循环输出 "Hello World",并且在每次输出之后会睡眠 10 秒钟。
2. 创建一个 systemd 服务的配置文件,比如说叫做 `myscript.service`,并将其放置在 `/etc/systemd/system/` 目录下:
```
[Unit]
Description=My Script Service
After=network.target
[Service]
ExecStart=/path/to/myscript.sh
User=root
[Install]
WantedBy=multi-user.target
```
在这个配置文件中,`ExecStart` 指定了要启动的脚本,`User` 指定了要以哪个用户身份运行脚本。其他的配置项可以根据需要进行调整。
3. 启动 systemd 服务:
```
sudo systemctl start myscript.service
```
这个命令会启动 `myscript.service` 服务,并开始运行 `myscript.sh` 脚本。
4. 检查服务状态:
```
sudo systemctl status myscript.service
```
这个命令会显示 `myscript.service` 服务的状态。如果一切正常,状态应该为 active (running)。
现在,`myscript.service` 服务会守护 `myscript.sh` 脚本的运行状态。如果 `myscript.sh` 意外停止了,systemd 会自动重启它。这样,你就可以确保 `myscript.sh` 脚本一直在运行,而且不需要手动去检查和启动它。
创建一个shell脚本,在linux上创建user101-user120等20个用户;user101和user102添加到manager组,user103添加到sale组,user104添加到dev组。
可以的,你可以使用以下的shell脚本来创建20个用户并将它们添加到相应的用户组:
```bash
#!/bin/bash
# 创建20个用户
for i in {101..120}
do
username="user$i"
password=$(openssl rand -base64 12) # 自动生成12位密码
useradd -m -p $(openssl passwd -crypt $password) $username # 创建用户并设置密码
done
# 将user101和user102添加到manager组
usermod -a -G manager user101
usermod -a -G manager user102
# 将user103添加到sale组
usermod -a -G sale user103
# 将user104添加到dev组
usermod -a -G dev user104
```
请注意,该脚本必须以root用户身份运行,否则可能会因权限问题而无法创建用户和添加到组。另外,由于该脚本会自动生成密码,因此请确保在使用时,你对密码进行了适当的修改和记录。