Создайте псевдоним bash для нескольких команд, некоторые из которых требуют sudo [duplicate]

Этот вопрос уже имеет ответ здесь: Как создать постоянный & ldquo; alias & rdquo ;? [duplicate] 6 ответов

Я знаю, что во всем этом много информации, но я все равно считаю это запутанным. Пожалуйста, помогите мне с этим быстрым одним лайнером.

Что мне нужно написать и где сделать это постоянной функцией моей системы?

Это команда:

sudo apt update &&\ sudo apt upgrade -y &&\ sudo flatpak update &&\ conda upgrade --all -y

Возможно, назовите его с помощью sudo updateall

Незначительное отступление: я задал вопрос об аппроксимации обновления и привязке некоторое время назад. Существует appimagehub, но он поддерживается в текущий момент и оснащается обновлением дизайна без участия пользователя, и я не могу изменить это. Остальные здесь можно обновить вручную.

4
задан 23 November 2017 в 13:23

9 ответов

Чтобы сделать его доступным для всех пользователей, у которых есть привилегии sudo (необходимы для команд)

sudo nano /etc/bash.bashrc

Чтобы сделать его доступным только для вашего пользователя sudo nano /home/yourusername/.bashrc

Перейдите в нижнюю часть файла и добавьте свои псевдонимы так, я включил прокомментированный (#) заголовок ALIAS LIST

#ALIAS LIST

alias updateall='apt update && sudo apt upgrade -y && sudo flatpak upgrade && conda upgrade --all -y'

alias sudo='sudo '

Сохраните файл, затем запустите exec bash из терминала.

Первый псевдоним - это ваша команда, второй псевдоним позволяет использовать sudo с псевдонимами.

-1
ответ дан 22 May 2018 в 15:58
  • 1
    Нет необходимости в псевдониме sudo . Просто введите sudo в псевдоним. – Videonauth 23 November 2017 в 11:55

Чтобы сделать его доступным для всех пользователей, у которых есть привилегии sudo (необходимы для команд)

sudo nano /etc/bash.bashrc

Чтобы сделать его доступным только для вашего пользователя sudo nano /home/yourusername/.bashrc

Перейдите в нижнюю часть файла и добавьте свои псевдонимы так, я включил прокомментированный (#) заголовок ALIAS LIST

#ALIAS LIST alias updateall='apt update && sudo apt upgrade -y && sudo flatpak upgrade && conda upgrade --all -y' alias sudo='sudo '

Сохраните файл, затем запустите exec bash из терминала.

Первый псевдоним - это ваша команда, второй псевдоним позволяет использовать sudo с псевдонимами.

-1
ответ дан 18 July 2018 в 02:47

Чтобы сделать его доступным для всех пользователей, у которых есть привилегии sudo (необходимы для команд)

sudo nano /etc/bash.bashrc

Чтобы сделать его доступным только для вашего пользователя sudo nano /home/yourusername/.bashrc

Перейдите в нижнюю часть файла и добавьте свои псевдонимы так, я включил прокомментированный (#) заголовок ALIAS LIST

#ALIAS LIST alias updateall='apt update && sudo apt upgrade -y && sudo flatpak upgrade && conda upgrade --all -y' alias sudo='sudo '

Сохраните файл, затем запустите exec bash из терминала.

Первый псевдоним - это ваша команда, второй псевдоним позволяет использовать sudo с псевдонимами.

-1
ответ дан 24 July 2018 в 17:39

Вот команда создания псевдонима, которая поможет вам:

Откройте файл .bashrc с использованием Sublime Text или Nano

subl ~/.bashrc

и вставьте следующее в конец [ ! d3]

aliasx() { echo "alias $1"="'${@:2}'" >> ~/.bashrc; }

В следующий раз, когда вы хотите добавить в терминал псевдоним jsut bash:

aliasx alias_name alias_command

Пример: aliasx ba subl ~/.bashrc

EDIT:

EDIT: , этот метод работает с вашими sudo и &&, || и другими параметрами, такими как ;.

Пример: aliasx updateall sudo apt-get update '&&' sudo apt-get upgrade

Это приводит к тому, что строка alias updateall='sudo apt-get update && sudo apt-get upgrade' добавлена ​​в конце вашего .bashrc

. Используйте '&&', IE заключают операторы в одинарные кавычки, чтобы вставить их в ваш [ f14] файлы без ошибок.

Также, как указал кто-то, возможно, вместо && использовать отдельные команды ;.

1
ответ дан 22 May 2018 в 15:58

Создайте файл updateall, поместите его на свой путь /usr/local/bin и сделайте его исполняемым.

Вы можете отформатировать файл следующим образом:

#!/bin/sh

sudo apt-get update
sudo apt-get upgrade -y
sudo flatpak upgrade
conda upgrade --all -y

Тогда просто запустите скрипт как updateall (без sudo)

0
ответ дан 22 May 2018 в 15:58
  • 1
    Я думаю, что это на самом деле более элегантное решение, удалив sudo из скрипта. За исключением того, что conda является not командой sudo, которая фактически не работает. – jbbiomed 23 November 2017 в 05:29
  • 2
    Вы можете разрешить выполнение команды conda как обычного пользователя, поскольку здесь terdon объясняет – Zanna 23 November 2017 в 13:26
  • 3
    Ответ изменен для выполнения всех команд, кроме conda с sudo. – thomasrutter 24 November 2017 в 02:19
  • 4
    sudo -u $USER conda upgrade --all -y выполняет работу с conda без привилегий sudo. – Hannibal 13 December 2017 в 09:29

Вот команда создания псевдонима, которая поможет вам:

Откройте файл .bashrc с использованием Sublime Text или Nano

subl ~/.bashrc

и вставьте следующее в конец [ ! d3] aliasx() { echo "alias $1"="'${@:2}'" >> ~/.bashrc; }

В следующий раз, когда вы хотите добавить в терминал псевдоним jsut bash:

aliasx alias_name alias_command

Пример: aliasx ba subl ~/.bashrc

EDIT:

EDIT: , этот метод работает с вашими sudo и &&, || и другими параметрами, такими как ;.

Пример: aliasx updateall sudo apt-get update '&&' sudo apt-get upgrade

Это приводит к тому, что строка alias updateall='sudo apt-get update && sudo apt-get upgrade' добавлена ​​в конце вашего .bashrc

. Используйте '&&', IE заключают операторы в одинарные кавычки, чтобы вставить их в ваш .bashrc файлы без ошибок.

Также, как указал кто-то, возможно, вместо && использовать отдельные команды ;.

1
ответ дан 18 July 2018 в 02:47

Создайте файл updateall, поместите его на свой путь /usr/local/bin и сделайте его исполняемым.

Вы можете отформатировать файл следующим образом:

#!/bin/sh sudo apt-get update sudo apt-get upgrade -y sudo flatpak upgrade conda upgrade --all -y

Тогда просто запустите скрипт как updateall (без sudo)

0
ответ дан 18 July 2018 в 02:47

Вот команда создания псевдонима, которая поможет вам:

Откройте файл .bashrc с использованием Sublime Text или Nano

subl ~/.bashrc

и вставьте следующее в конец [ ! d3] aliasx() { echo "alias $1"="'${@:2}'" >> ~/.bashrc; }

В следующий раз, когда вы хотите добавить в терминал псевдоним jsut bash:

aliasx alias_name alias_command

Пример: aliasx ba subl ~/.bashrc

EDIT:

EDIT: , этот метод работает с вашими sudo и &&, || и другими параметрами, такими как ;.

Пример: aliasx updateall sudo apt-get update '&&' sudo apt-get upgrade

Это приводит к тому, что строка alias updateall='sudo apt-get update && sudo apt-get upgrade' добавлена ​​в конце вашего .bashrc

. Используйте '&&', IE заключают операторы в одинарные кавычки, чтобы вставить их в ваш .bashrc файлы без ошибок.

Также, как указал кто-то, возможно, вместо && использовать отдельные команды ;.

1
ответ дан 24 July 2018 в 17:39

Создайте файл updateall, поместите его на свой путь /usr/local/bin и сделайте его исполняемым.

Вы можете отформатировать файл следующим образом:

#!/bin/sh sudo apt-get update sudo apt-get upgrade -y sudo flatpak upgrade conda upgrade --all -y

Тогда просто запустите скрипт как updateall (без sudo)

0
ответ дан 24 July 2018 в 17:39
  • 1
    Я думаю, что это на самом деле более элегантное решение, удалив sudo из скрипта. За исключением того, что conda является not командой sudo, которая фактически не работает. – jbbiomed 23 November 2017 в 05:29
  • 2
    Вы можете разрешить выполнение команды conda как обычного пользователя, поскольку здесь terdon объясняет – Zanna 23 November 2017 в 13:26
  • 3
    Ответ изменен для выполнения всех команд, кроме conda с sudo. – thomasrutter 24 November 2017 в 02:19
  • 4
    sudo -u $USER conda upgrade --all -y выполняет работу с conda без привилегий sudo. – Hannibal 13 December 2017 в 09:29

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

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