Создайте псевдоним, чтобы напечатать команду вместо ее выполнения

Я только начинаю настраивать свой профиль bash, и мне интересно, как я могу набрать псевдоним и вызвать его в кли, не выполняя его на самом деле. Используя Curl в качестве примера, я хотел бы напечатать псевдоним и получить что-то вроде:

curl https://api.github.com/users/agituser

подойти к CLI, позволяя мне редактировать URL. Вроде как Autokey.

2
задан 8 August 2015 в 16:50

1 ответ

Предположите, что у Вас есть переменная ONE, который содержит url https://api.github.com/users/agituser, Вы могли использовать следующую команду для установки псевдонима editurl, который даст Вам доступный для редактирования вывод:

alias editurl='read -e -i "$ONE" URL && curl $URL'

От man read:

NAME
       read - read from a file descriptor
  • -e, Если стандартный вход прибывает из терминала, Readline используется для получения строки
  • -i text Использование TEXT как, первоначальный текст для Readline

Так editurl даст Вам,

ron@ron:~$ editurl 
https://api.github.com/users/agituser #this line is editable

можно изменить URL (который будет сохранен в '$URL), или не изменение.

, Если Вы не изменяете URL:

ron@ron:~$editurl 
https://api.github.com/users/agituser
{
  "login": "agituser",
  "id": 787606,
  "avatar_url": "https://avatars.githubusercontent.com/u/787606?v=3",
  "gravatar_id": "",
  "url": "https://api.github.com/users/agituser",
  "html_url": "https://github.com/agituser",
  "followers_url": "https://api.github.com/users/agituser/followers",
  "following_url": "https://api.github.com/users/agituser/following{/other_user}",
  "gists_url": "https://api.github.com/users/agituser/gists{/gist_id}",
  "starred_url": "https://api.github.com/users/agituser/starred{/owner}{/repo}",
  "subscriptions_url": "https://api.github.com/users/agituser/subscriptions",
  "organizations_url": "https://api.github.com/users/agituser/orgs",
  "repos_url": "https://api.github.com/users/agituser/repos",
  "events_url": "https://api.github.com/users/agituser/events{/privacy}",
  "received_events_url": "https://api.github.com/users/agituser/received_events",
  "type": "User",
  "site_admin": false,
  "public_repos": 0,
  "public_gists": 0,
  "followers": 0,
  "following": 0,
  "created_at": "2011-05-14T10:07:35Z",
  "updated_at": "2015-04-07T14:47:28Z"
}

или изменение URL:

ron@ron:~$editurl 
https://api.github.com/user
{
  "message": "Requires authentication",
  "documentation_url": "https://developer.github.com/v3"
}
2
ответ дан 9 August 2015 в 02:50

Другие вопросы по тегам:

Похожие вопросы: