У меня есть два исполняемых файла, которые я скачал и пытаюсь добавить к пути. Они расположены в
/home/user/folder
, а конкретные файлы -
/home/user/folder/app1
/home/user/folder/app2
И для app1, и для app2 установлен флаг исполняемого файла all (user, group, other).
Я могу выполнить файлы, если я нахожусь в папке / home / user / и выполняю эти команды
./app1
./app2
Однако я не могу запустить их из другого места. Я добавил эту строку в свой .profile
PATH="$PATH:/home/user/folder"
, а затем получил путь с помощью
. /home/user/.profile
, и я могу видеть app1 и app2, когда использую завершение команды (нажатие клавиши Tab). Однако вот что происходит, когда я пытаюсь запустить app1 или app2 с помощью следующих команд (ниже показано только «app1», но то же самое верно и для «app2»)
user@comp:~$ app1
-bash: app1: command not found
user@comp:~$ /home/user/folder/app1
-bash: app1: command not found
user@comp:~/folder$ ./app1
(program runs)
Я в тупике :) Должно быть, я пропустил что-то простое. Спасибо за вашу помощь !!
ОБНОВЛЕНИЕ
Хорошо, я обнаружил некоторые ошибки в пути, которые, я думаю, я исправил, но теперь он не работает в любом случае - что почему-то я считаю это шагом вперед. Спасибо за предложение следующих шагов, вот их вывод:
user@computer:~$ echo $PATH
/usr/share/fsl/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/matlab/bin:/usr/local/VoxBo/bin:/usr/local/itt/idl64/bin:/usr/local/afni/bin/:/usr/local/mricron:/usr/lib/voxbo/bin:/home/user/folder:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11/:/usr/games/:/usr/local/matlab/bin:/usr/local/VoxBo/bin/:/usr/local/itt/idl64/bin:/usr/local/afni/bin/:/usr/local/mricron/
user@computer:~$ typeset -p PATH
declare -x PATH="/usr/share/fsl/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/matlab/bin:/usr/local/VoxBo/bin:/usr/local/itt/idl64/bin:/usr/local/afni/bin/:/usr/local/mricron:/usr/lib/voxbo/bin:/home/user/folder:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11/:/usr/games/:/usr/local/matlab/bin:/usr/local/VoxBo/bin/:/usr/local/itt/idl64/bin:/usr/local/afni/bin/:/usr/local/mricron/"
user@computer:~$ type app1
app1 is /home/user/folder/app1
user@computer:~$ type app2
app2 is /home/user/folder/app2
user@computer:~$ app1
bash: /home/user/folder/app1: No such file or directory
user@computer:~$ app2
bash: /home/user/folder/app2: No such file or directory
user@computer:~$ /home/user/folder/app1
bash: /home/user/folder/app1: No such file or directory
user@computer:~$ /home/user/folder/app2
bash: /home/user/folder/app2: No such file or directory
user@computer:~$ cd /home/user/folder
user@computer:~/folder$ app1
bash: /home/user/folder/app1: No such file or directory
user@computer:~/folder$ ./app1
bash: ./app1: No such file or directory
user@computer:~/folder$ ./app2
bash: ./app2: No such file or directory
user@computer:~/folder$ ls -l
total 29384
-rwxr-xr-x 1 user user 14949776 2011-02-03 11:09 app1
-rwxr-xr-x 1 user user 15137300 2011-02-03 11:10 app2
user@computer:~/folder$
Спасибо за вклад каждого!
Я знаю, что часть этого является повторяющейся...., но...
Отредактируйте свой Bash файл RC:
vim ~/.bashrc
Экспортируйте ПУТЬ:
export PATH=$PATH:/home/$username/folder/
Если Вы не хотите входить в систему снова для получения пути, ПОЛУЧИТЕ его:
source ~/.bashrc
Удостоверьтесь, что файл является Вашим и исполняемым:
chown -R $username /home/$username/folder/
chmod +x /home/$username/folder/app*
Попытка работать:
cd
app1
app2
Все еще разве команда не нашла ошибку? Ну, какие файлы являются app1 и app2?
file /home/$username/folder/app1
file /home/$username/folder/app2
Если они - текстовые файлы, могло бы случиться так, что они - сценарии, как Bash или Python. Если так, откройте их с редактором, чтобы видеть, можно ли подобрать источник проблемы. При вставке какого-либо содержания текстовых файлов (если, действительно, они - текстовые файлы), будьте должны понравиться, включают самую первую строку - "волшебство файла" как #!/bin/sh, например.