小编Son*_*ell的帖子

检查 shell 环境变量中项目的顺序

我想检查某个目录是否总是出现在环境变量中的其他目录之后。

列表项由冒号分隔,与 PATH 变量一样。

这不仅适用于 bash,还适用于一些不同的 shell。

问题是,我不确定如何使用标准的 unix 实用程序检查列表中项目的顺序。

什么是起点?

编辑:

一个例子是

$LIST=/test:/bin/test:/etc/test:/nan/:/var
Run Code Online (Sandbox Code Playgroud)

例如,我想测试任何包含 test 一词的目录路径在列表中优先于没有的目录。

我想要做的足够小,我可以对目录进行硬编码,因此不需要动态解决方案。

utilities coreutils environment-variables

2
推荐指数
1
解决办法
76
查看次数

在 NetBSD 上使用 pkgsrc 安装 coreutils 的权限

我正在尝试使用 pkgsrc 系统在 NetBSD 6.1.5 上安装 coreutils。

这是 6.1.5 的默认安装。所做的唯一更改是安装 zsh 并将其设置为我的 root 用户和任何本地用户的默认 shell。

与 pkgsrc 方式一样,我切换到包含我要安装的软件包的 pkgsrc heirachy 目录。在这种情况下,它是/usr/pkgsrc/sysutils/coreutils

当我以 root 身份进入这个目录时,我输入

制作

然后得到一个错误:

configure: error: you should not run configure as root (set
FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
*** Error code 1
Run Code Online (Sandbox Code Playgroud)

这在使用 pkgsrc 作为 root 时并不典型,并且似乎特定于 gnu 包,因为我没有在 pkgsrc 中使用任何其他包时遇到过这种情况。

当我在同一目录中以普通用户身份进行 make 时,我无权写入/usr/pkgsrc下的任何目录,并且由于一堆权限被拒绝错误而使 make 失败。例如:

sh: Cannot create configure.override: permission denied.
Run Code Online (Sandbox Code Playgroud)

将包目录复制到本地用户有写权限的地方,编译似乎不符合使用 pkgsrc。

用户是否必须是特殊组的一部分才能使用 pkgsrc?

compiling netbsd coreutils pkgsrc

2
推荐指数
1
解决办法
3774
查看次数