Альтернатива Non-sudo/usr/local/bin для общих сценариев

Я привык вставлять общие сценарии /usr/local/bin так, чтобы я мог выполнить их отовсюду с терминалом.

Например, я делаю сценарий оболочки названным 1, сделайте это исполняемым файлом с chmod +x 1 и вставленный в него /usr/local/bin, и в сценарии я ввожу #!/bin/sh на первой строке и затем моих командах. Оттуда на, это очень удобно применимо и быстро для выполнения путем ввода

1Enter

на терминале, из любой папки.

Моя проблема состоит в том, что я в настоящее время работаю над компьютером, где не может сделать sudo и я не могу ожидать получать его также, таким образом, я не смогу поместить свой сценарий в /usr/local/bin.

Каковы мои опции? Есть ли другой путь с тот же "выполнен отовсюду" возможность, без которой я могу получить доступ sudo, или другой способ достигнуть чего-то эквивалентного?

В принятом ответе на это сообщение говорится

Для ограниченных по объему пользователями сценариев используйте мусорное ведро / в Вашем корневом каталоге.

Который я попробовал, но существует нет bin папка в моем корневом каталоге, и когда я создал один, я все еще, ниоткуда еще не могла запустить скрипт.

Я работаю на Ubuntu 12.04 LTS.

15
задан 30 October 2018 в 22:09

4 ответа

Каковы мои опции? Есть ли другой путь с тот же "выполнен откуда-либо" возможность, к которой я могу получить доступ без 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
19
ответ дан 23 November 2019 в 02:45

В дополнение к 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 имеет еще некоторые примеры и практическое руководство для установки его.

4
ответ дан 23 November 2019 в 02:45

На самом деле должна быть корзина для каждого пользователя потому что это было бы очень полезно в многопользовательских средах, где людям отказывают в привилегиях суперпользователя, чтобы сделать всех более безопасными. Используйте следующее в скрипте 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
0
ответ дан 5 May 2020 в 21:38

Попробуйте ~/.local/bin/.

(Я признаю, что этот ответ не добавляет ничего нового, но есть краткий ответ на этот вопрос, который не требует прочтения всего остального.)

0
ответ дан 8 January 2021 в 10:54

Другие вопросы по тегам:

Похожие вопросы: