• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Создания alias с собственными опциями

Vlg

Green Team
02.11.2019
117
1
BIT
19
Hello, world!
Мне нужна помощь. Я посёрфил в инете, но не нашел нужной информации. Короче, как написано в заголовке я хочу создать алису с опциями. Для того чтобы вам было легче меня понять я приведу пример
Допустим у меня есть алиса:
alias m='mv path1 path2'
Но при добавлении опции -p оно изменяла конечный путь алисы
alias m='mv path1 path3'
Надеюсь понятно.
 
Решение
Надеюсь понятно.
На самом деле ничего не понятно.

alias - это краткая запись конкретной команды.
Если есть какие-то условия или ветвление, нужно просто написать скрипт и добавить в alias уже его

Например /home/scripts/my_move.sh
Bash:
#!/bin/bash
# Проверяем количество аргументов:
if [[ $# == 2 ]]; then
        # Если аргументов 2
        echo "Moving $1 to $2"
elif [[ $# == 3 && $1 == "p" ]]; then
        # Если аргументов 3 и первый р
        echo "Moving $1 to path3"
else
        # Если иное количество, выходим
        echo "Wrong args count! Exit..."
fi
Конечно, нужно добавить проверки существуют ли папки, добавить инфу об ошибке, но общий подход, надеюсь, уловить получится.
Делаем его исполняемым
chmod +x...

Idea

Green Team
29.11.2020
46
5
BIT
0
Hello, world!
Мне нужна помощь. Я посёрфил в инете, но не нашел нужной информации. Короче, как написано в заголовке я хочу создать алису с опциями. Для того чтобы вам было легче меня понять я приведу пример
Допустим у меня есть алиса:
alias m='mv path1 path2'
Но при добавлении опции -p оно изменяла конечный путь алисы
alias m='mv path1 path3'
Надеюсь понятно.
значит делаешь m1 m2
 

f22

Codeby Academy
Gold Team
05.05.2019
1 922
226
BIT
1 668
Надеюсь понятно.
На самом деле ничего не понятно.

alias - это краткая запись конкретной команды.
Если есть какие-то условия или ветвление, нужно просто написать скрипт и добавить в alias уже его

Например /home/scripts/my_move.sh
Bash:
#!/bin/bash
# Проверяем количество аргументов:
if [[ $# == 2 ]]; then
        # Если аргументов 2
        echo "Moving $1 to $2"
elif [[ $# == 3 && $1 == "p" ]]; then
        # Если аргументов 3 и первый р
        echo "Moving $1 to path3"
else
        # Если иное количество, выходим
        echo "Wrong args count! Exit..."
fi
Конечно, нужно добавить проверки существуют ли папки, добавить инфу об ошибке, но общий подход, надеюсь, уловить получится.
Делаем его исполняемым
chmod +x /home/scripts/my_move.sh
И добавляем в alias
alias m="/home/scripts/my_move.sh"
 
Решение
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!