STEP #1

(1/2)

此处切换ai服务商,可对比多家ai的回复,取最优解。

上一步下一步关闭
酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用shell 在每个用户的主目录下建立2个目录,分别命名为dir1和dir2

以下是使用Shell脚本在每个用户的主目录下创建`dir1`和`dir2`目录的代码: ```bash #!/bin/bash # 获取所有用户的主目录列表 user_homes=$(getent passwd | cut -d: -f6) # 遍历每个用户的主目录 for home in $user_homes; do # 检查主目录是否存在 if [ -d "$home" ]; then # 在主目录下创建dir1目录 mkdir -p "$home/dir1" # 在主目录下创建dir2目录 mkdir -p "$home/dir2" fi done ``` 代码解释 1. `getent passwd | cut -d: -f6`:通过`getent passwd`获取系统中所有用户的信息,然后使用`cut`命令以冒号为分隔符,提取出第6列,即用户的主目录。 2. `for home in $user_homes; do ... done`:遍历每个用户的主目录。 3. `if [ -d "$home" ]; then ... fi`:检查主目录是否存在,如果存在则执行后续的创建目录操作。 4. `mkdir -p "$home/dir1"`和`mkdir -p "$home/dir2"`:使用`mkdir -p`命令在主目录下创建`dir1`和`dir2`目录,`-p`选项可以确保如果父目录不存在,会自动创建。 额外注意的逻辑点 1. 运行此脚本可能需要root权限,因为访问某些用户的主目录可能需要更高的权限。 2. 如果某些用户的主目录已经存在`dir1`或`dir2`目录,`mkdir -p`命令不会报错,也不会覆盖已有的目录。 3. 要确保脚本具有可执行权限,可以使用`chmod +x script.sh`命令赋予脚本执行权限。 [2025-06-14 15:28:30 | AI写代码神器 | 432点数解答]

相关提问