On Mon, Oct 21, 2019 at 09:19:48AM +0000, "Göbbert, Jens Henrik" wrote: > Description: > "bash --rcfile --login test.sh" will run test.sh but "bash --login > --rcfile test.sh" will not, even though this would be expected from the > help/man pages.
--rcfile takes an argument. It has to be followed by the name of the rc file that you want bash to read. When you write --rcfile --login you're telling bash that its rc file is named "--login", and that it should read this file, instead of ~/.bashrc, if it needs to read an rc file. However, since you also gave the name of a script to execute, bash doesn't need to read an rc file. So, it simply ignores the --rcfile --login that you gave it, and just executes test.sh. On the other hand, when you write --login --rcfile test.sh you are telling bash that its rc file is named "test.sh", and that it should read this instead of ~/.bashrc if it needs to read an rc file. But since you're using the --login argument, bash doesn't need to read an rc file. So, it doesn't make use of the --rcfile test.sh arguments. You're basically just running bash --login .