Как использовать команду псевдоним для создания команды с пользовательским вводом? - PullRequest
0 голосов
/ 04 мая 2020

Как мне присвоить псевдоним команде, использующей пользовательский ввод в терминале?

Например, скажем, команда

$ oj d https://codeforces.com/contest/1348/problem/A

В этой команде 1348 и «А» может меняться. Как мне этого добиться?

Что-то вроде того, что я могу назвать псевдоним всей команды как,

$ oj d 1348 A

, так что она может действовать так же.

1 Ответ

1 голос
/ 04 мая 2020

Псевдонимы не принимают параметры. Вам нужно написать функцию или отдельный скрипт.

Bash / Zsh function:

Определите следующую функцию в вашем .bashrc / .zshrc в зависимости от в какой интерактивной оболочке вы используете:

mycommand() {
    oj d https://codeforces.com/contest/"$1"/problem/"$2"
}

Сценарий оболочки:

Создайте файл mycommand со следующим содержимым в вашем $PATH и сделайте его исполняемым :

#!/bin/sh
oj d https://codeforces.com/contest/"$1"/problem/"$2"

$1 и $2 являются позиционными параметрами. Если вы вызываете скрипт или функцию вроде $ mycommand 1348 A, $0 сопоставляется с mycommand , $1 с 1348 , $2 с A и скоро. Мы помещаем двойные кавычки вокруг переменных, если они содержат пробелы, чтобы предотвратить разбиение слов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...