История изменений
Исправление HighMan, (текущая версия) :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
Такая заморока из-за того, что этот сраный hsh-install работает ТОЛЬКО от юзера. Потому его приходится вызываеть через sudo -u и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
UPD Ларчик просто открывался…
eval sudo -u highman cat /home/highman/test.sh
#!/bin/bash
#....
В главном скрипте ту монструозную конструкцию переделал на:
eval sudo -u ${conf['user']} hsh-install ${conf['verbose']} "${conf['install']}"
И все заработало!!!
Остались вопросы по башевским «подстановкам» типа ${line%%:=}, ${line#=}. Я вижу как они работают.
В первом варианте оно из строки, которая лежит в переменной line, выгрызает левую часть до ‘=’, во втором - правую часть после ‘=’, но эти записи я не понимаю.
Где можно почитать о подобной магии?
Исправление HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
Такая заморока из-за того, что этот сраный hsh-install работает ТОЛЬКО от юзера. Потому его приходится вызываеть через sudo -u и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
UPD Ларчик просто открывался…
eval sudo -u highman cat /home/highman/test.sh
#!/bin/bash
#....
В главном скрипте ту монструозную конструкцию переделал на:
eval sudo -u ${conf['user']} hsh-install ${conf['verbose']} "${conf['install']}"
И все заработало!!!
Остались вопросы по башевским «подстановкам» типа ${line%%:=}, ${line#=}. Я вижу как они работают.
В первом варианте оно из строки выгрызает левую часть до ‘=’, во втором правую часть после ‘=’, но эти записи я не понимаю.
Где можно почитать о подобной магии?
Исправление HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
Такая заморока из-за того, что этот сраный hsh-install работает ТОЛЬКО от юзера. Потому его приходится вызываеть через sudo -u и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
UPD Ларчик просто открывался…
eval sudo -u highman cat /home/highman/test.sh
#!/bin/bash
#....
В главном скрипте ту монструозную конструкцию переделал на:
eval sudo -u ${conf['user']} hsh-install ${conf['verbose']} "${conf['install']}"
И все заработало!!!
Остались вопросы по башевским «подстановкам» типа ${line%%:=}, ${line#=}. Я вижу как они работают.
В первом варианте оно из строки выгрызает левую часть до ‘=’, во втором правую часть после ‘=’, но эти записи я не понимаю.
Где можно почитать о подобной магии?
Исправление HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
Такая заморока из-за того, что этот сраный hsh-install работает ТОЛЬКО от юзера. Потому его приходится вызываеть через sudo -u и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
UPD Ларчик просто открывался…
eval sudo -u highman cat /home/highman/test.sh
#!/bin/bash
#....
# В главном скрипте ту монструозную конструкцию переделал на:
eval sudo -u ${conf['user']} hsh-install ${conf['verbose']} "${conf['install']}"
И все заработало!!!
Остались вопросы по башевским «подстановкам» типа ${line%%:=}, ${line#=}. Я вижу как они работают.
В первом варианте оно из строки выгрызает левую часть до ‘=’, во втором правую часть после ‘=’, но эти записи я не понимаю.
Где можно почитать о подобной магии?
Исправление HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
Такая заморока из-за того, что этот сраный hsh-install работает ТОЛЬКО от юзера. Потому его приходится вызываеть через sudo -u и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
UPD Ларчик просто открывался…
eval sudo -u highman cat /home/highman/test.sh
#!/bin/bash
#....
# В главном скрипте ту монструозную конструкцию переделал на:
eval sudo -u ${conf[‘user’]} hsh-install ${conf[‘verbose’]} «${conf[‘install’]}»
И все заработало!!!
Остались вопросы по башевским "подстановкам" типа ${line%%:=*}, ${line#*=}. Я вижу как они работают.
В первом варианте оно из строки выгрызает левую часть до '=', во втором правую часть после '=', но эти записи я не понимаю.
Где можно почитать о подобной магии?
Исправление HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
Такая заморока из-за того, что этот сраный hsh-install работает ТОЛЬКО от юзера. Потому его приходится вызываеть через sudo -u и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
Исправление HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!
Если делать без sudo, то ни какой ругани на eval нет.
Исходная версия HighMan, :
Где-то до этого в том длинном скрипте кто-то портит конфиг шелла наверно, что он перестаёт разбивать переменные по пробелам.
Попробовал в моем основном скрипте вызвать eval apt-get …. и все заработало!
Казалось бы Эврика!
Но нет.
Не все так просто.
В главном скрипте наворочено ой-ой!
sudo -u ${conf['user']} eval hsh-install ${conf['verbose']} "${conf['install']}"
и тут…
sudo: eval: command not found
Взял и на своей машине (Fedora 37 Workstation) из под root:
sudo -u highman eval cat vpn.sh
sudo: eval: command not found
Снова затык!