Титла: задаване на $PATH променливата Публикувано от: bot в Dec 26, 2018, 18:57 Проблемът ми е следният: имам една програма със странен формат - ./calculate, ако може някой да обясни какво означава това ./ пред файла? Програмата се намира в /home/myscripts/ Като вляза там я стартирам без проблем. Мога да стартирам програмата отвсякъде като напиша пълният префикс /home/myscripts/./calculate. опитвам се да задам /home/myscripts пътя в $PATH и явно се получава, като напиша echo $PATH ми излиза /home/myscripts но не мога да стартирам ./calculate от друго място, освен от собствената му директория. Някакви идеи? Дистрото е Debian Stretch.
Титла: Re: задаване на $PATH променливата Публикувано от: Acho в Dec 26, 2018, 18:59 Означава че изпълнимия файл който искаш да се стартира - трябва да се намира в текущата директория.
Титла: Re: задаване на $PATH променливата Публикувано от: bot в Dec 26, 2018, 19:01 Означава че изпълнимия файл който искаш да се стартира - трябва да се намира в текущата директория. OK, има ли някакъв вариант да го стартирам от друго място? Задал съм пътя, друго трябва ли да направя? Не е кой знае какъв проблем, но е дразнещо навсякъде да пиша пълният път към файла. Титла: Re: задаване на $PATH променливата Публикувано от: Acho в Dec 26, 2018, 19:04 Не. Само си описваш правилно целия път до изпълнимия файл. И трябва скрипта (най-добре си го сложи в един изпълним скрипт) в който ще се напише тоя целия ред - да се стартира от юзер с права за изпълнение на тази програма.
Титла: Re: задаване на $PATH променливата Публикувано от: Acho в Dec 26, 2018, 19:06 /home/myscripts/./calculate
Тука не ти трябва точката, а само : /home/myscripts/calculate И тази команда ще се изпълнява отвсякъде. Титла: Re: задаване на $PATH променливата Публикувано от: bot в Dec 26, 2018, 19:13 /home/myscripts/./calculate Мерси Ачо, не се сетих за това. Нямаше ли един по-кратък начин, казваше се символен линк или подобно, правих го навремето да подкарам една програма, която търсеше "COM" за сериен порт, та се правеше нещо от сорта на <команда> "ttyS1" "COM1" Титла: Re: задаване на $PATH променливата Публикувано от: Acho в Dec 26, 2018, 19:19 Сигурно има още поне пет начина, ама туй е най-мързелешкото за мене. Пък и ще работи винаги.
Титла: Re: задаване на $PATH променливата Публикувано от: bot в Dec 26, 2018, 19:24 Сигурно има още поне пет начина, ама туй е най-мързелешкото за мене. Пък и ще работи винаги.Мерси! Жив и здрав! Титла: Re: задаване на $PATH променливата Публикувано от: Acho в Dec 26, 2018, 19:28 Да ти се връща мой човек. Наздраве !
Титла: Re: задаване на $PATH променливата Публикувано от: ray в Dec 27, 2018, 11:54 Не виждам проблем да си добавиш някаква папка от домашната или друга директория към текущия PATH, ето пример от моите настройки:
env | ack -i path ... PATH=/home/username/bin:/opt/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl ... Тук имам добавени (и то на по-предно място при търсене) една папка bin от домашната папка и една друга от /opt/... Как става: ack -i path .zshrc ... export PATH=$HOME/bin:$PATH ... Това е за zsh, за bash e: ~/.bashrc Друг лесен вариант е да създадеш символен линк на файла в /usr/local/bin - "sudo ln -s $HOME/myscripts/calculate /usr/local/bin" и hash -r за да обнови наличните изпълними файлове. PS: тук ack е заместител на grep. Честито Рождество и весело изкарване на новогодишните празници :-) |