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

  • 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

Vlg

Green Team
02.11.2019
117
1
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...
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"
 
Решение
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab