Вы можете попробовать:
gdb --batch -ex 'call chdir("/some/dir")' -p "$PPID"
Но я ожидаю, что большинство оболочек запутаются, когда их текущий каталог изменится у них под ногами.
Кстати, в синтаксисе оболочки вам нужны кавычки вокруг переменных и -
, чтобы отделить параметры от аргументов. См. Также особое поведение cd
, когда не передан -P
. Таким образом, ваш код должен быть похож на:
#! /bin/sh -
cd -P -- "$1"
Чтобы быть эквивалентным int main (int argc, char * argv []) {chdir (argv [1])}
, например, в C (все равно будет неэффективен при изменении текущего каталога другого процесса)
Мой mailx использует опцию -a
для добавления заголовка к письму. Попробуйте опцию -A
для отправки вложения.
Редактировать:
Проблема была решена OP путем удаления символа пробела «между именем переменной и знаком равенства». Опция -a
была правильной в CentOS, а не в проблеме.