Make a unix alias with python script

0 votes

I want to make a python script(.py) make a UNIX alias that can be accesed after the program has ran. How can i do this?

I have tried this:

#!/usr/bin/python

import os

os.system('alias cdd="cd ~/Desktop/"')

Sep 20, 2018 in Python by bug_seeker
• 15,520 points
5,729 views

1 answer to this question.

0 votes

The scope of an alias command is the shell it is run in. When that shell exits and a new one starts, it will not have the alias defined.

The way persistent customization is provided to shells is with shell scripts that are run when the shell first starts up. For example, bash will run either or both of .bash_profile and .bashrcdepending on how it is invoked and other local configuration. Refer to the documentation for the shell you're interested in interacting with for all of the specific details of how it handles this.

If you want persistent configuration changes to a shell, you need to modify the shell's startup scripts.

os.system runs a shell and tells the shell to run the command you supplied. Then the shell exits. So running an alias command with os.system can basically accomplish nothing useful.

Here's an example of how you might adjust your bash configuration to define an alias persistently:

with open(expanduser("~/.bashrc"), "at") as bashrc:
    bashrc.write(
        "\n"
        "# Added by myprogram on somedate\n"
        "alias cdd='cd ~/Desktop/'\n"
    )
answered Sep 20, 2018 by Priyaj
• 58,100 points

Related Questions In Python

+2 votes
2 answers

How to make a laplacian pyramid using OpenCV python?

down voteacceptTheeThe problem is that you're iterating ...READ MORE

answered Apr 3, 2018 in Python by charlie_brown
• 7,720 points
4,823 views
+1 vote
7 answers
+1 vote
5 answers

how to exit a python script in an if statement

Instead of using the normal UTF-8 encoding, ...READ MORE

answered Jul 4, 2023 in Python by bodymist
• 140 points
354,631 views
0 votes
2 answers
+1 vote
2 answers

how can i count the items in a list?

Syntax :            list. count(value) Code: colors = ['red', 'green', ...READ MORE

answered Jul 7, 2019 in Python by Neha
• 330 points

edited Jul 8, 2019 by Kalgi 4,364 views
0 votes
1 answer
0 votes
1 answer

Make a unix alias with python script

The scope of an alias command is the shell ...READ MORE

answered Sep 10, 2018 in Python by Priyaj
• 58,100 points
852 views
+2 votes
1 answer

How do you make a block comment in python?

''' This is a multiline comment. I ...READ MORE

answered Aug 23, 2018 in Python by Priyaj
• 58,100 points
925 views
webinar REGISTER FOR FREE WEBINAR X
REGISTER NOW
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP