Привер лорогугл.
Никак не могу понять, чем обуславливается разное поведение PS4 для разных пользователей, посоветуйте мне ваши советы
Окружение: CentOS 7, bash 4.2.46(2)
Для отладки сложных скриптов использую вот такой сниппет:
export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
Тестовый скрипт:
#!/bin/bash
set -x
m=4123
echo start
echo $m
my() {
echo $1
}
my 123
Результат под непривилегированным пользователем(правильный):
+(./test.sh:3): m=4123
+(./test.sh:4): echo start
start
+(./test.sh:5): echo 4123
4123
+(./test.sh:10): my 123
+(./test.sh:7): my(): echo 123
123
Результат под рутом(неправильный):
+ m=4123
+ echo start
start
+ echo 4123
4123
+ my 123
+ echo 123
123
Проверил переменные окружения и профайлы - никаких зацепок и идей не появилось.