相关疑难解决方法(0)

是否可以在用户空间中将环境变量从子级传递到父级?

正如标题所说,我希望能够从子进程(通常是脚本)更改父进程(特别是 shell)中的环境变量。从/dev/pts/id试图key=value从子脚本导出的伪终端,如果可能的话,导出的变量必须以某种方式传递给父脚本?

echoingcmd > /proc/$$/fd/0不执行cmd,只在 shell 终端模拟器中查看命令,当然在 subshel​​l 中使用$(cmd)而不是cmd执行,并且export不向父进程添加变量。

  1. 我更喜欢所有的工作都在孩子这边完成。

  2. 我在评论中被问到,我想要实现什么?这是一个普遍的问题,我正在尝试使用肯定的答案从(父)shell 执行(生成)的脚本中传递变量,以便用户可以从添加的变量中受益,而无需任何进一步的工作。比如我想用脚本安装一个应用程序,应用程序目录应该添加到父shell路径中。

shell process environment-variables

15
推荐指数
3
解决办法
3万
查看次数

Makefile 规则中的算术运算

我需要在 bash 循环内执行算术运算,如下所述

CYCLE?=3
COUNT=1

download_when_ready: ## Will try the download operations many times till it succeeds or it reaches 10 tries
    while ! composer update $(bundle) 2> /dev/null && [[ $(COUNT) -lt 10 ]]; \
    do \
        COUNT=$$(( $(COUNT)+1 )); \
        SLEEP=$$(( ($(COUNT) / $(CYCLE)) + ($(COUNT) % $(CYCLE)) )); \
        echo "count $(COUNT)"; \
        echo "cycle $(CYCLE)"; \
        echo "sleep $(SLEEP)"; \
        sleep $(SLEEP); \
    done
Run Code Online (Sandbox Code Playgroud)

这永远不会停止并给出以下内容:

count 0
cycle 4
sleep 0

count 0
cycle 4
sleep …
Run Code Online (Sandbox Code Playgroud)

bash make arithmetic

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

标签 统计

arithmetic ×1

bash ×1

environment-variables ×1

make ×1

process ×1

shell ×1