2016-07-26 6 views
0

Итак, я пытаюсь выполнить программу с sudo-разрешениями.Откройте Linux-Binary в файле Shell (* .sh)

я запрограммирован этот скрипт:

#!/bin/sh 
    echo "Bestätigen sie ihr Passwort, damit der Compiler mit erhöhten Rechten gestartet werden kann" 
    [ "$(whoami)" != "root" ] && exec sudo -- "$0" "[email protected]" 
    sudo ~./Compiler/Compiler_Project 

проблема: я получаю спросил мой пароль; до тех пор все в порядке. Но тогда я не могу открыть свой файл. Чувствительность к регистру не проблема: это правильно обсаженных

I hope, you can help me; I am a linux-Newb. 
+0

'~./...' не является допустимым путем (на подавляющем большинстве систем). '~ /' указывает домашний каталог текущего пользователя (и не будет тем, что вы ожидаете от нового внутри скрипта sudo'd. '. /' указывает текущий рабочий каталог. '~. /' будет домашним каталогом пользователя '.', из них был такой пользователь (что маловероятно). – rici

+0

Я попробую его EDIT: IT WORKED !!! –

+1

Используйте' $ HOME', а не '~' в скриптах. Оба работают, но '$ HOME 'более описательный. – Kusalananda

ответ

0

Вы должны расширить свой «~» внутри вашего сценария.

!/bin/sh 

eval var=~/Compiler/Compiler_Project 
sudo $var 
+0

EDIT: я пытался сделать./... в переменной. THANK YOU! –

+0

Я сделал. Я новичок здесь, поэтому я рад Это не так. –

+0

Вот почему я прошу :-) – Klaus

Смежные вопросы