Я привык вставлять общие сценарии /usr/local/bin
так, чтобы я мог выполнить их отовсюду с терминалом.
Например, я делаю сценарий оболочки названным 1
, сделайте это исполняемым файлом с chmod +x 1
и вставленный в него /usr/local/bin
, и в сценарии я ввожу #!/bin/sh
на первой строке и затем моих командах. Оттуда на, это очень удобно применимо и быстро для выполнения путем ввода
1
Enter
на терминале, из любой папки.
Моя проблема состоит в том, что я в настоящее время работаю над компьютером, где не может сделать sudo
и я не могу ожидать получать его также, таким образом, я не смогу поместить свой сценарий в /usr/local/bin
.
Каковы мои опции? Есть ли другой путь с тот же "выполнен отовсюду" возможность, без которой я могу получить доступ sudo
, или другой способ достигнуть чего-то эквивалентного?
В принятом ответе на это сообщение говорится
Для ограниченных по объему пользователями сценариев используйте мусорное ведро / в Вашем корневом каталоге.
Который я попробовал, но существует нет bin
папка в моем корневом каталоге, и когда я создал один, я все еще, ниоткуда еще не могла запустить скрипт.
Я работаю на Ubuntu 12.04 LTS.
Каковы мои опции? Есть ли другой путь с тот же "выполнен откуда-либо" возможность, к которой я могу получить доступ без sudo или другого способа достигнуть чего-то эквивалентного?
Как сделать это?
Создайте некоторый dir в своем доме для содержания сценариев, обычно названных как bin
как конвенция.
mkdir ~/bin
Теперь переместите свои сценарии в мусорное ведро
mv somescript ~/bin
Теперь, как сделать это бочкой отовсюду?!
Необходимо добавить bin
к ПУТИ
откройте Ваш .bashrc
gedit .bashrc
и добавьте эту строку:
export PATH=$PATH:/home/username/bin
Не забывайте заменять username
с Вашим Именем пользователя
Сохраните и выйдите, затем получите bashrc
source .bashrc
и теперь Вы в порядке, можно запустить скрипт, когда Вы раньше делали! но необходимо заметить, что это связано с пользователем только.
Примечание: Лучше переименовать Ваши сценарии кроме 1, 2, так как можно столкнуться с некоторыми проблемами с этим имена
ОБНОВЛЕНИЕ:
Можно сделать, то же просто создает dir мусорного ведра в доме затем source ~/.profile
вместо ~/.bashrc
. Начиная с добавления ~ / мусорное ведро к Вашему ПУТИ уже перечислен в .profile
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
В дополнение к https://askubuntu.com/a/643030/218015 Вы сила может также определить псевдоним в Вашем .bashrc для маленького, часто используемых задач. Например,
alias ll='ls -l'
alias ls='ls --color=auto'
создаст Вас "команда" ll, который делает ls-l, и ls будет окрашен после определения псевдонима. https://wiki.ubuntuusers.de/alias имеет еще некоторые примеры и практическое руководство для установки его.
На самом деле должна быть корзина для каждого пользователя потому что это было бы очень полезно в многопользовательских средах, где людям отказывают в привилегиях суперпользователя, чтобы сделать всех более безопасными. Используйте следующее в скрипте bash, чтобы автоматически создать его.
if [ ! -d "$HOME/.local/bin" ] ; then
mkdir -p "$HOME/.local/bin"
printf '\nexport "PATH=$PATH:'"$HOME"/.local/bin'"' >> "$HOME/.bashrc"
# Change the PATH right now:
PATH="$PATH:$HOME/.local/bin"
fi
Попробуйте ~/.local/bin/
.
(Я признаю, что этот ответ не добавляет ничего нового, но есть краткий ответ на этот вопрос, который не требует прочтения всего остального.)