bash: no job control in this shell
localhost / # PS1='\u[\j:\W]# '
Want to help, but not certain what you're looking for. So you're building a prompt with username, number of jobs managed by the shell, and the current working directory. You're not clueless -- you're getting exactly that back.
But I have to enter that manually, instead of Bash reading that for /etc/profile. It gives an error for /etc/profile, but not when entered manually.
Aha. Then the real problem is that you're having trouble setting PS1 from /etc/profile. It's probably superceded by your home directory profile, which is either stored in one of these files:
and my bet is that it's ~/.bashrc. So then it comes down to commenting out any existing PS1 statement in that file and replacing it with your own. There's also this 'EXPORT PS1' statement that's important so that the subshells also see this variable.
Still even more, some kinds of terminal programs, when invoked, may default a prompt from some sort of configuration file or other setting.
Neither of those exist. The problem is not detecting the setting of PS1, it's that it refuses to set it.
Ah. You got me. Is this a riddle?
Okay, perhaps you're not kidding. I'd say it must have to do with EXPORT or something superceding it. What if you did CTRL+ALT+F3, logged in, and set it there? Would it work and hold its setting there?
No difference on a TTY device or when I remerged coreutils.
This is for DON'T PANIC by the way.
Silly me, bash isn't part of coreutils.
I compiled bash with --enable-job-control but bash -m still gives bash: no job control in this shell.
Actually attempting job control with PS1 set to \u[\j:\W]# doesn't work in a variety of ways.