【发布时间】:2022-07-24 03:10:17
【问题描述】:
我有一个使用 bash 命令的 bash 脚本parallel
我发现当我以非 root 用户身份运行脚本时,parallel 仍然会检查 /root/ 目录中是否有名为 .parallel 的配置文件
foo.sh
#!/bin/bash
parallel --semaphore --jobs=6 "echo hello"
parallel --semaphore --wait
以 root 身份运行脚本按预期工作。但是以非 root 身份运行会出现此错误
chown bob:bob foo.sh
sudo -u bob -g bob ./foo.sh
parallel: Error: Cannot change into non-executable dir /root/.parallel: Permission denied
我尝试使用 --plain 标志来忽略配置
parallel --semaphore --plain
我尝试使用指向 /dev/null 的配置
parallel --semaphore -C /dev/null
https://docs.oracle.com/cd/E86824_01/html/E54763/parallel-1.html
如何让并行命令不检查/root/.parallel 配置文件?
【问题讨论】:
-
也许尝试将
PARALLEL_HOME设置为可写目录(例如export PARALLEL_HOME=$HOME)然后使用--plain选项? -
尝试为
sudo添加-H选项
标签: bash gnu-parallel