В моем linux (centos 7) есть 2 пользователя A (обычный пользователь) и B (принадлежит к группе wheel). Я пытаюсь изменить файл .bash_profile пользователя A, выполнив следующую команду с пользователем B.
./test.sh /home/a/.bash_profile "экспортировать что-то"
#!/bin/bash set -o errexit filePath=$; content=$; result=`sudo grep "$content" $filePath || true`\ if [[ -z $result ]] || [[ $result == \#* ]]; then echo "inside the first if"; sudo sh -c "$(sed '$a\' $ > $.bak)"; sudo sh -c "$(echo $content >> $.bak)"; sudo rm -fr $; sudo mv $.bak $; fi Однако это дало следующую ошибку:
/home/a/.bash_profile.bak: В доступе отказано
он говорит: "sed: -e выражение # 1, char 1: регулярное выражение с неопределенным адресом"