ВОПРОС · Q&A

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

2 ответов 2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Решение
Надеюсь понятно.
На самом деле ничего не понятно.

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...
Автор вопроса
Hello, world!
Мне нужна помощь. Я посёрфил в инете, но не нашел нужной информации. Короче, как написано в заголовке я хочу создать алису с опциями. Для того чтобы вам было легче меня понять я приведу пример
Допустим у меня есть алиса:
alias m='mv path1 path2'
Но при добавлении опции -p оно изменяла конечный путь алисы
alias m='mv path1 path3'
Надеюсь понятно.
 
Hello, world!
Мне нужна помощь. Я посёрфил в инете, но не нашел нужной информации. Короче, как написано в заголовке я хочу создать алису с опциями. Для того чтобы вам было легче меня понять я приведу пример
Допустим у меня есть алиса:
alias m='mv path1 path2'
Но при добавлении опции -p оно изменяла конечный путь алисы
alias m='mv path1 path3'
Надеюсь понятно.
значит делаешь m1 m2
 
Решение
Надеюсь понятно.
На самом деле ничего не понятно.

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"