У меня есть скрипт:
#!/bin/bash
echo "$(dirname $(readlink -e $1))/$(basename $1)"
который сидит здесь: /home/myuser/bin/abspath.sh
который имеет разрешения на выполнение.
Если я бегу, echo $PATH
я получаю следующее:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/myuser/bin
Я хочу, чтобы из любой директории можно было звонить abspath <some_path_here>
и вызывать мой скрипт. Я использую Bash, что я делаю не так?
linux
shell
shell-scripting
гепард
источник
источник
cd $HOME/bin ; ln -s abspath.sh abspath
. Это позволит вам сохранить правильное расширение для скрипта и иметь инструмент, названный так, как вам нравится. (Вы могли бы в некотором будущем заменить свой сценарий оболочки на сценарий python, для примера ...)Этот код достаточно мал, чтобы я мог кодировать его как функцию оболочки:
И да, вы хотите все эти цитаты.
источник
установите псевдоним, добавив свою команду в файл .bashrc.
И не забудьте указать исходный файл.
источник
Я бы переименовал ваш скрипт bash, чтобы
abspath
затем переместить его вbin
каталог. Тогда вы сможете звонитьabspath
откуда угодноисточник
Третий вариант - создать псевдоним abspath, который указывает на ваш скрипт abspath.sh.
источник