我想自动化一个特定的任务,并且我有一个bash文件,我想通过运行脚本从用户参数中读取数据
bash my_script.sh /etc/??? path/dst
到目前为止,我可以通过访问位置参数($1
,$2
)和变量来获取脚本中的数据,这很好。
但是在脚本中,我想运行一个python程序。所以...
python test.py arg1 arg2 arg3
问题是,我必须通过python读取数据并访问my_script.sh中的输出
有一个限制,我不应该在系统上创建文件。所以我想知道是否使用export
,但是导出是可变的,因为它存储变量直到打开该进程,而且当我回到my_script.sh
时,没有任何线索,我也没有特权来写我的变量,它是~/.bashrc
上的数据。
此外,我已经阅读了this和this,但是它们不能按我想要的方式工作。
如果您认为我的做法不对,请告诉我。
答案 0 :(得分:1)
感谢 @chepner
的评论,解决方案是使用 $()
而不是 export
。
正如评论中提到的:
<块引用>export 只将信息从父进程传递到子进程,而不是其他方向。
因此,从脚本中的其他应用程序获取输出的正确方法之一如下:
output=$(python test.py arg1 arg2 arg3)