Я часто использую sudo arp-scan --localnet --interface wlan0
, но считаю, что каждый раз вводить это неудобно. Чтобы ускорить процесс, я создал скрипт под названием arp-lw-scan
, который должен сделать это для меня.
Содержимое ~/Scripts/arp-lw-scan
:
#!/bin/bash
arp-scan --localnet --interface wlan0
Я добавил ~/Scripts
к своему $PATH
в ~/.profile
, поэтому каждый сценарий в этой папке можно запустить из любого места, просто набрав его имя в терминале.
Тем не менее, у меня возникают проблемы с выполнением arp-lw-scan
простым способом, потому что для этого требуется root-доступ. Просто напечатайте arp-lw-scan
, находясь в моем домашнем каталоге, выдает ошибку об отсутствии рут прав. Я могу напечатать sudo ~/Scripts/arp-lw-scan
, и это работает, но это все еще в значительной степени набирать. Я хочу иметь возможность просто набрать sudo arp-lw-scan
для выполнения заданного сценария.
Как мне этого добиться?
Псевдонимы - это ярлыки в командной строке. Обычная оболочка Bash позволяет создавать собственные псевдонимы.
Чтобы попробовать (не сохраняя их навсегда), попробуйте следующее:
alias myalias='gksudo gparted'
myalias
Чтобы сохранить их навсегда, создайте файл ~/.bash_aliases
, например:
alias myalias='gksudo gparted'
alias edsources='gksudo gedit /etc/apt/sources.list'
файл ~/.bashrc
по умолчанию, установленный для пользователей в Ubuntu, будет источником файла ~/.bash_aliases
по умолчанию.
Псевдонимы позволяют вам добавлять больше аргументов и «отменять» текущие команды. Типичным случаем использования этого является
alias rm='rm -i'
Чтобы получить подтверждающее сообщение для всего, что вы пытаетесь удалить с помощью rm
.
Если вы хотите «избежать» псевдонима, выполнив оригинальную команду, добавьте к нему обратную косую черту. Итак, в примере rm
просто сделайте
\rm myfile
, чтобы удалить файл без опции -i
, вызванной псевдонимом.
Что касается вашего текущего подхода, вы должны просто иметь возможность добавить команду в однострочном скрипте с помощью sudo
(или gksudo
).