【发布时间】:2018-11-10 17:27:47
【问题描述】:
我想得到以下结果,让我解释一下,我们有一个文件“test.sh”,我们在其中调用一个用 c 编写的命令(mycmd.c),并为其分配一个参数。我们希望它创建一个变量,其名称是传递的参数,然后在“test.sh”文件中返回结果。
例子:
在文件 test.sh 中,我们调用我们的命令,我们将要创建的变量的名称指定为参数,然后我们用回显显示提取的结果。
#!/bin/bash
./mycmd myvar
echo "OK : $myvar"
在 mycmd.c 文件中,我们创建一个名为 myvar 的 shell 变量(传递的参数),然后我们为这个变量赋值(myvar = foo),然后我们将它返回给脚本“test.sh” , 谁返回 "OK : foo"。
有可能吗?谢谢。
【问题讨论】:
-
不,不是。想想如果一个进程可以修改其父环境会产生的安全问题。
-
也就是说,该程序可能会在您的 .bashrc 或 .profile 中添加内容,或者,添加为将来的 shell 设置环境变量。