title: Can I use an alias to execute a program from a python script
body: <p>I am almost brand new to python scripting, so please excuse any stupid questions, but any help anyone can give would be much appreciated.</p>
  
  <p>I am trying to write a python script for other people to use, and in it I need to call a program that I won't always know the path to. To get around that, I ask the user to provide the path to the program, which will work, but I don't want users to have to provide the path EVERY time they run the script so I have been trying to set up a bash alias by having the script add to the ~/.profile and ~/.bashrc files.</p>
  
  <p>I can then use the alias to run the program from an interactive bash shell, but when the script tries to run it, I get a "command not found" error...</p>
  
  <p>I have tried re-sourcing the .bashrc file and using the "shopt -s expand_aliases" command with no luck.</p>
  
  <p>My ~/.bashrc looks like this:</p>
  
  <pre><code>alias nuke='/Applications/Nuke6.2v4/Nuke6.2v4.app/Contents/MacOS/Nuke6.2v4'
  </code></pre>
  
  <p>And the piece of the script looks like this:</p>
  
  <pre><code>os.system('source .bashrc')
  os.system('shopt -s expand_aliases')
  os.system('nuke -x scriptPath')
  </code></pre>
  
  <p>But once the script gets up to this point, it returns:</p>
  
  <pre><code>sh: nuke: command not found
  </code></pre>
  
  <p>Am I doing something wrong or is there another way I can permanently store the path to a program?</p>