Linux下的很多軟件要從環境變量裏獲取配置信息,有些環境變量好設置(比如某個目錄),有些難設置,比如獲取本機動態ip地址
我採用的方法是
運行ifconfig eth0命令獲取本機網卡eth0的配置信息
將輸出的內容保存到臨時文件
逐行讀取該文件,讀到第2行時,對改行進行字段抽取
將抽取出的字符串打印到標準輸出
shell的雙反斜槓能將python腳本的標準輸出作爲標準輸入保存到環境變量
先在HOME目錄下創建get_ip.py
#encoding=utf-8
import subprocess
tmp_file = open('/tmp/g.log','w')
subprocess.call(['ifconfig', 'eth0'], stdout=tmp_file)
tmp_file = open('/tmp/g.log','r')
line_num = 0
for line in tmp_file:
if line_num == 1:
print line.lstrip().split(' ')[0].split(':')[1]
line_num = line_num +1
然後在shell腳本里添加export環境變量 語句
export ROS_IP=`python $HOME/get_ip.py`
完畢!