# Passing variable from shell script to python script

**URL:** <https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283>\
**Category:** Shell Programming and Scripting\
**Created:** [December 1, 2010, 7:54am UTC](https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283 "2010-12-01T07:54:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![shashi792](https://community.unix.com/user_avatar/community.unix.com/shashi792/32/6221_2.png) [@shashi792](https://community.unix.com/u/shashi792)\
**Post date:** [December 1, 2010, 7:54am UTC](https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283/1 "2010-12-01T07:54:52Z")

</div>

I have a shell script main.sh which inturn call the python script ofdm.py, I want to pass two variables from shell script to python script for its execution. How do i achieve this ?????

Eg:

main.sh

```nohighlight
a=3 b=3;
c= a+b
exec python ofdm.py

```

ofdm.py

```nohighlight
d=c+a

```

Thanks in Anticipation

---

<div class="post-metadata">

**Author:** ![ctsgnb](https://community.unix.com/letter_avatar/ctsgnb/32/5_5575768a8748004e209b776fc1b2916d.png) [@ctsgnb](https://community.unix.com/u/ctsgnb)\
**Post date:** [December 1, 2010, 8:12am UTC](https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283/2 "2010-12-01T08:12:01Z")

</div>

Something like

```nohighlight
exec python ofdm.py "$a" "$b"

```

?

---

<div class="post-metadata">

**Author:** ![shashi792](https://community.unix.com/user_avatar/community.unix.com/shashi792/32/6221_2.png) [@shashi792](https://community.unix.com/u/shashi792)\
**Post date:** [December 1, 2010, 12:28pm UTC](https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283/3 "2010-12-01T12:28:36Z")

</div>

The method is not working

below is my actual code.

```nohighlight
export L=128

cd /home/betafish/Desktop/Cpp_codes/gnuradio/acoustic
echo "$("pwd")"
echo "$L"
exec python ofdm_acoustic.py "$L"

```

and the other python file is

```nohighlight
#!/usr/bin/env python
##################################################
# Gnuradio Python Flow Graph
# Title: Ofdm Acoustic
# Generated: Wed Dec 1 18:17:52 2010
##################################################

from gnuradio import audio
from gnuradio import blks2
from gnuradio import gr
from gnuradio.eng_option import eng_option
from gnuradio.wxgui import constsink_gl
from gnuradio.wxgui import fftsink2
from grc_gnuradio import blks2 as grc_blks2
from grc_gnuradio import wxgui as grc_wxgui
from optparse import OptionParser
import wx

class ofdm_acoustic(grc_wxgui.top_block_gui):

	def __init__ (self):
		grc_wxgui.top_block_gui. __init__ (self, title="Ofdm Acoustic")
		_icon_path = "/home/betafish/.local/share/icons/hicolor/32x32/apps/gnuradio-grc.png"
		self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY))

		##################################################
		# Variables
		##################################################
		self.samp_rate = samp_rate = 32000

		##################################################
		# Blocks
		##################################################
		self.audio_sink_0 = audio.sink(48000, "", True)
		self.blks2_ofdm_demod_0 = grc_blks2.packet_demod_f(blks2.ofdm_demod(
				options=grc_blks2.options(
					modulation="qpsk",
					fft_length=512,
					occupied_tones=200,
					cp_length=L,
					snr=10,
					log=None,
					verbose=None,
				),
				callback=lambda ok, payload: self.blks2_ofdm_demod_0.recv_pkt(ok, payload),
			),
		)
		self.blks2_ofdm_mod_0 = grc_blks2.packet_mod_f(blks2.ofdm_mod(
				options=grc_blks2.options(
					modulation="qpsk",
					fft_length=512,
					occupied_tones=200,
					cp_length=L,
					pad_for_usrp=False,
					log=None,
					verbose=None,
				),
			),
			payload_length=0,
		)
		self.gr_complex_to_float_0 = gr.complex_to_float(1)
		self.gr_throttle_0 = gr.throttle(gr.sizeof_float*1, samp_rate)
		self.gr_wavfile_sink_0 = gr.wavfile_sink("/home/betafish/Desktop/Cpp_codes/gnuradio/acoustic/data_rx", 1, samp_rate, 8)
		self.gr_wavfile_source_0 = gr.wavfile_source("/home/betafish/Desktop/Cpp_codes/gnuradio/acoustic/data_tx.wav", True)
		self.wxgui_constellationsink2_0 = constsink_gl.const_sink_c(
			self.GetWin(),
			title="Constellation Plot",
			sample_rate=samp_rate,
			frame_rate=5,
			const_size=2048,
			M=4,
			theta=0,
			alpha=0.005,
			fmax=0.06,
			mu=0.5,
			gain_mu=0.005,
			symbol_rate=samp_rate/4.,
			omega_limit=0.005,
		)
		self.Add(self.wxgui_constellationsink2_0.win)
		self.wxgui_fftsink2_0 = fftsink2.fft_sink_c(
			self.GetWin(),
			baseband_freq=9000,
			y_per_div=10,
			y_divs=10,
			ref_level=50,
			sample_rate=samp_rate,
			fft_size=1024,
			fft_rate=30,
			average=False,
			avg_alpha=None,
			title="FFT Plot",
			peak_hold=False,
		)
		self.Add(self.wxgui_fftsink2_0.win)

		##################################################
		# Connections
		##################################################
		self.connect((self.gr_wavfile_source_0, 0), (self.gr_throttle_0, 0))
		self.connect((self.gr_throttle_0, 0), (self.blks2_ofdm_mod_0, 0))
		self.connect((self.gr_complex_to_float_0, 0), (self.audio_sink_0, 0))
		self.connect((self.gr_complex_to_float_0, 1), (self.audio_sink_0, 1))
		self.connect((self.blks2_ofdm_mod_0, 0), (self.wxgui_fftsink2_0, 0))
		self.connect((self.blks2_ofdm_mod_0, 0), (self.wxgui_constellationsink2_0, 0))
		self.connect((self.blks2_ofdm_mod_0, 0), (self.gr_complex_to_float_0, 0))
		self.connect((self.blks2_ofdm_mod_0, 0), (self.blks2_ofdm_demod_0, 0))
		self.connect((self.blks2_ofdm_demod_0, 0), (self.gr_wavfile_sink_0, 0))

	def set_samp_rate(self, samp_rate):
		self.samp_rate = samp_rate
		self.wxgui_constellationsink2_0.set_sample_rate(self.samp_rate)
		self.wxgui_fftsink2_0.set_sample_rate(self.samp_rate)

if __name__ == ' __main__':
	parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
	(options, args) = parser.parse_args()
	tb = ofdm_acoustic()
	tb.Run(True)

```

I have used L in spaces marked in red

---

<div class="post-metadata">

**Author:** ![ctsgnb](https://community.unix.com/letter_avatar/ctsgnb/32/5_5575768a8748004e209b776fc1b2916d.png) [@ctsgnb](https://community.unix.com/u/ctsgnb)\
**Post date:** [December 1, 2010, 1:38pm UTC](https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283/4 "2010-12-01T13:38:43Z")

</div>

is `L` gonna change ?  
if not, then just go for

```nohighlight
 exec python ofdm_acoustic.py 128

```

---

<div class="post-metadata">

**Author:** ![shashi792](https://community.unix.com/user_avatar/community.unix.com/shashi792/32/6221_2.png) [@shashi792](https://community.unix.com/u/shashi792)\
**Post date:** [December 2, 2010, 5:20am UTC](https://community.unix.com/t/passing-variable-from-shell-script-to-python-script/278283/5 "2010-12-02T05:20:37Z")

</div>

L is obtained from another script (this changes everytime) from the previous script im using

```nohighlight
export L 

```

command to pass it between scripts

what should be done for changing L
