AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[environment-variables](unix)

Martin Hope
ibse
Asked: 2024-06-26 14:24:09 +0800 CST

LD_DEBUG_OUTPUT 不起作用

  • 7
touch /tmp/debug.log
LD_DEBUG=all LD_DEBUG_OUTPUT=/tmp/debug.log ls

完成此操作后,我希望将调试信息写入文件/tmp/debug.log,但它是空的。

Ubuntu 20.04

environment-variables
  • 1 个回答
  • 117 Views
Martin Hope
matan h
Asked: 2024-06-13 20:17:44 +0800 CST

如何在 fish shell 中为 `history` 函数添加别名

  • 8

我正在尝试将鱼history寻呼机设置为bat -l fish用于语法突出显示。(即仅为命令设置PAGER环境变量)。bat -l fishhistory

我试过:

# 1:
alias history "PAGER='bat -l fish' history" 
# results in "The function “history” calls itself immediately, which would result in an infinite loop"

# 2:
alias history "PAGER='bat -l fish' \history"
# results in the same.

# 3:
alias _old_history history
alias history "PAGER='bat -l fish' _old_history"
# results in (line 1): The call stack limit has been exceeded

我知道abbr在这种情况下这是可行的,但这会改变我的history命令,这不是我想要的。

environment-variables
  • 2 个回答
  • 282 Views
Martin Hope
Mohamed N.
Asked: 2024-05-22 23:16:07 +0800 CST

将JSON数据转换为Unix环境变量,使用jq工具

  • 5

我遇到了一个问题,我的命令单独运行时是有效的,但是当与jq一起使用时,命令export test=test就不起作用了,但如果我只运行export test=test,它是有效的。

所以我有一个名为test.json的文件,内容如下:

{ "test":"test124","url":"google.com"}

所以我使用了这个命令:

jq -r 'to_entries | .[] | "export \(.key)=\(.value)"' test.json | sh

我检查了环境变量,但是什么也没有看到。

我尝试了这个命令:

jq -r 'to_entries | .[] | "\(.key)=\(.value)"' test.json | while IFS='=' read -r key value; do export "$key=$value"; ; done

问题依旧。

但如果我使用这个命令,它是有效的:

export test=$(jq -r .test test.json)

但我想要循环执行。

谢谢帮助。

解决方案: 缺少$(...)

 $(jq -r 'to_entries | .[] | "export \(.key)=\(.value)"' test.json)
environment-variables
  • 1 个回答
  • 30 Views
Martin Hope
Matteo
Asked: 2023-12-13 07:03:20 +0800 CST

如果 PATH 中的不同位置有多个同名的二进制文件,则使用哪个二进制文件(根据规范)?

  • 5

如果 PATH 环境变量中的两个不同目录都包含具有相同名称的二进制文件(但行为略有不同),是否有关于使用哪一个的规范/保证?

在我的机器(macOS Monterey,Darwin 21.2.0)上,我观察到(通过which <binary name>)二进制文件是从 PATH 中找到的第一个目录中选择的(从左到右读取其内容)。但这是所有 Linux/UNIX 操作系统的标准行为吗?即是否有一些强制执行的标准(例如 POSIX)?

额外的上下文(对于好奇的人):我正在编写一个项目,该项目有一个脚本,该脚本在项目特定的文件夹中下载标准二进制文件的自定义版本,然后调用另一个必须使用自定义二进制文件而不是常规二进制文件的脚本。在调用第二个脚本之前,我将包含自定义二进制文件的文件夹添加到 PATH 中。鉴于我在发生冲突时如何搜索 PATH 的观察结果,我将 PATH 设置为而PATH=<my-custom-folder>:$PATH不是PATH=$PATH:<my-custom-folder>. 但这个项目有多个合作者,我想确保我们都运行相同的二进制文件。如果不同的操作系统以与我不同的方式搜索 PATH,事情就会崩溃。

environment-variables
  • 1 个回答
  • 45 Views
Martin Hope
Richard Rublev
Asked: 2023-04-18 17:18:14 +0800 CST

Kubernetes 的时区变量应该是什么样子?

  • 5

我是欧洲人

export BOOTSTRAP_TIMEZONE="UTC +2"

我无法检查,Github 现在有问题。如果那不对,我应该改变什么?

environment-variables
  • 1 个回答
  • 17 Views
Martin Hope
jsejcksn
Asked: 2022-12-06 02:24:23 +0800 CST

如何在不导出变量的情况下从文本文件 (.env) 为单个进程加载变量?

  • 6

注意:这个一般主题似乎在不止一个 SE 站点上被令人作呕地覆盖,但请通读所有细节——我没有发现任何问题涵盖了下面描述的所有标准。

另外:我zsh在下面的例子中使用。我希望有一个符合 POSIX 标准的解决方案,但这不是一个硬性要求:一些有用bash且zsh足够好的东西。

这是一个有助于阐明问题标题的示例:

假设我有以下两个文件:

% ls -AF
.env    printenv*

% cat printenv
echo $LOCAL_MESSAGE_1
echo $LOCAL_MESSAGE_2

% cat .env
LOCAL_MESSAGE_1="hello world"
LOCAL_MESSAGE_2="goodnight moon"

我想执行脚本printenv并在中查看以下内容stdout:

hello world
goodnight moon

如果我的环境中不存在这些变量,脚本将打印空行(如预期的那样):

% unset LOCAL_MESSAGE_1

% unset LOCAL_MESSAGE_2

% ./printenv


如果我在执行脚本之前设置变量,它们将可供它使用,但仅适用于该单个进程,而不适用于从同一 shell 启动的任何后续进程:

% LOCAL_MESSAGE_1="hello world" LOCAL_MESSAGE_2="goodnight moon" ./printenv
hello world
goodnight moon

% ./printenv


所以,我的问题是:如何根据以下标准复制上一个示例中的行为?

  1. printenv在当前 shell 中不加修改地运行——而不是在子 shell 中(感谢RudiC)——并获得所需的输出,同时
  2. 从.env文件中加载变量,同时
  3. 将变量保留在该进程调用的本地:它们将在 shell 环境和后续进程中保持未设置状态,而不需要unset它们

我可以使用什么单行语法来完成此操作?应该用什么代替下面的问号来满足上面的标准?

% ?????????? ./printenv
hello world
goodnight moon

environment-variables
  • 2 个回答
  • 34 Views
Martin Hope
Alexander
Asked: 2022-10-09 05:32:57 +0800 CST

PASS 密码存储:环境变量对密码存储位置没有影响

  • 1

我一直在使用 pass 来存储密码,但现在我想将我的密码存储从默认位置移动。根据手册页,将PASSWORD_STORE_DIR变量设置为所需的路径以覆盖默认路径就足够了,但是在我的情况下,这没有效果。将.password-store文件夹移动到新位置并设置环境变量后,执行命令pass会导致“错误:密码存储为空。尝试“传递初始化”。”。即使只是重命名.password-store内部主目录:

$ cd
$ mv .password-store .pass
$ PASSWORD_STORE_DIR=/home/bakhtin/.pass #bakhtin is the user name
$ pass
Error: password store is empty. Try "pass init".

关于问题可能是什么的任何想法?我确保变量名称等没有拼写错误。

environment-variables password
  • 1 个回答
  • 19 Views
Martin Hope
konmi
Asked: 2022-09-21 18:15:47 +0800 CST

取消设置导出的环境变量

  • 0

我正在使用导出来设置环境变量。

export OPCON_VERBOS=${vb}

以后如何取消设置以使其不再被定义?

environment-variables bash
  • 1 个回答
  • 41 Views
Martin Hope
konmi
Asked: 2022-09-20 09:46:39 +0800 CST

用户定义的环境变量

  • 2

我在 Ubuntu 18.04 LTS(仿生海狸)上使用 Bash shell。我想允许用户在 bash 中定义一个环境变量,可以在后续终端实例中使用该变量来设置使用该变量的某些函数的详细程度。

用户必须做些什么来启用和禁用此类功能?重点是让用户无需.bashrc直接更改即可启用或禁用环境变量功能。这些设置应该只适用于需要这种能力的特定用户。

environment-variables
  • 2 个回答
  • 73 Views
Martin Hope
bob dylan
Asked: 2022-09-18 07:25:50 +0800 CST

PS1真的是环境变量吗?

  • 9

我一直认为这PS1是一个环境变量。但是当我检查 Ubuntu 的默认值并.bashrc检查PS1

grep PS1 /etc/skel/.bashrc

没有export PS1。

如果没有导出,是否意味着它不是环境变量?

environment-variables bash
  • 1 个回答
  • 874 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve