Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

run bash command in new shell and stay in new shell after this command executes

I've got a problem. I'm searching for long time for this answer - how can I run command in new bash shell and stay in this NEW shell after this commands executes. So for example:

bash -c "export PS1='> ' && ls" 

will make new shell, export PS1, list directories and ... will exit to my current shell. I want to stay in the new one.

like image 455
Wojciech Danilo Avatar asked Aug 25 '11 14:08

Wojciech Danilo


People also ask

How do I run a shell command in bash?

In order to run a Bash script on your system, you have to use the “bash” command and specify the script name that you want to execute, with optional arguments. Alternatively, you can use “sh” if your distribution has the sh utility installed. As an example, let's say that you want to run a Bash script named “script”.


1 Answers

You can achieve something similar by abusing the --rcfile option:

bash --rcfile <(echo "export PS1='> ' && ls") 

From bash manpage:

--rcfile file

Execute commands from file instead of the system wide initialization file /etc/bash.bashrc and the standard personal initialization file ~/.bashrc if the shell is interactive

like image 160
Shawn Chin Avatar answered Sep 27 '22 21:09

Shawn Chin