$ BashPid
может быть то, что вы ищете.
BashPid
расширяется до идентификатора процесса текущего процесса Bash. Это отличается от $$ при определенных обстоятельствах, таких как подвелые, которые делают не требуется повторно инициализировать Bash.
В отличие от $$
($$) расширяется до идентификатора процесса оболочки. В () подпункте, это Расширяется к идентификатору процесса призывающей оболочки, а не подполей.
http://www.gnu.org/software/bash/manual/bashref.html#bash-variables
+---+---------------+------------+------------+
| | A | B | C |
+---+---------------+------------+------------+
| 1 | col1, line1a | | |
| | col1, line1b | | |
| | col1, line1c | col2, row1 | col3, row1 |
| 2 | col1, row2 | col2, row2 | col3, row2 |
+---+---------------+------------+------------+
Текст внутри одинарных кавычек интерпретируется буквально. Текст внутри бэктиков или [113112]$(...)[113113] - это подмена команды [113114]substitution[113115]: он заменяется выводом команды.
"col1, line1a
col1, line1b
col1, line1c","col2, row1","col3, row1"
"col1, row2","col2, row2","col3, row2"
Так что строка должна быть
Это устанавливает, что ваша подсказка - это имя машины, двоеточие, имя пользователя и текущая рабочая директория в скобках.
Вы должны избежать $PWD, вероятно, написав вместо этого \$PWD. Так как вы не указываете контекст вроде используемой вами оболочки, я не могу сказать наверняка. В bash правильная команда была бы
echo "export PS1='hostname -s':$LOGNAME'[\$PWD]' " >>profile