Псевдонимы (алиасы) bash для Laravel

https://laravel-news.com/bash-aliases
  • Перевод
image

Bash-алиасы («псевдонимы») — это ярлыки к файлам, позволяющие ссылаться на другую команду через более запоминающиеся слова, сокращения или символы. Например, если вы используете Git, вы можете запускать git-статус много раз в течение дня, поэтому, чтобы сэкономить время и количество нажатий клавиш, вы можете присвоить ему алиас, который вызовет правильную команду.

Я видел много необычных псевдонимов за эти годы, и многие из них уникальны для человека. Ярлыки, имеющие смысл для одного, могут совершенно запутать другого. Вот что их делает такими забавными.

Чтобы иметь представление о том, что делают другие, я попросил сообщество поделиться со мной своими алиасами, и многие мне ответили. Меня удивило как много тех, кто делает алиасы для команды Artisan. Тем не менее, у каждого свой шаблон ярлыка, например, "a", "pa" или "art" для команды php artisan. Есть и другая уникальная команда — "nah":

nah='git reset --hard;git clean -df'

Это реально продемонстрировать: представьте что начали работать над новой функцией и, возможно, добавили несколько новых файлов, а после обеда решили, что все сделали неверно. Запустив команду "nah", вы вернете код к предыдущему состоянию, удалив все внесенные изменения. Это очень удобно и полезно!

Как создать собственные алиасы


Для тех, кто не создает псевдонимы bash, процесс довольно прост. Вначале текстовым редактором откройте файл ~/.bashrc, находящийся в вашем домашнем каталоге. Затем раскомментируйте или добавьте следующие строки:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Команда как бы говорит о необходимости загрузке файла ~/.bash_aliases, если он существует, поэтому вы можете помещать в него все свои алиасы (псевдонимы) и облегчать их совместное использование. Наконец, создайте файл ~/.bash_aliases и добавьте следующее в качестве своего первого псевдонима:

alias art="php artisan"

Сохраните изменения и выполните в терминале команду:

source ~/.bashrc

Теперь вы имеете возможность использовать алиас "art".

Просто помните, что каждый раз после изменения файла ~/.bash_aliases вам необходимо запускать эту команду, либо перезапустить терминал для применения изменений.

Псевдонимы для Laravel от сообщества


Ниже приведен список алиасов, использующихся сообществом Laravel:

WaveHack


# Laravel

artisan() {
  if [ -f bin/artisan ]; then
    php bin/artisan "$@"
  else
    php artisan "$@"
  fi
}

alias serve='artisan serve'
alias tinker='artisan tinker'

# Misc PHP

t() {
  if [ -f vendor/bin/phpunit ]; then
    vendor/bin/phpunit "$@"
  else
    phpunit "$@"
  fi
}

bmadigan


nah='git reset --hard;git clean -df'
vm='ssh vagrant@127.0.0.1 -p 2222'

Tainmar


pa='php artisan'


Mohamed Said


alias dracarys="git reset --hard && git clean -df"
alias copyssh="pbcopy < $HOME/.ssh/id_rsa.pub"
alias reloadcli="source $HOME/.zshrc"
alias zshrc="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl ~/.zshrc "
alias shrug="echo '¯\_(ツ)_/¯' | pbcopy";
alias fight="echo '(ง'̀-'́)ง' | pbcopy";

*** This one opens a PR from the current branch
function openpr() {
  br=`git branch | grep "*"`
  repo=$1
  parentBranch=$2

  open -a /Applications/Google\ Chrome.app  https://github.com/${repo/* /}/compare/${parentBranch/* /}...themsaid:${br/* /}\?expand\=1
}

Jeffrey Way


alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
alias wip="git add . && git commit -m 'wip'"
alias nah="git reset --hard && git clean -df"
alias p="phpunit"
alias pf="phpunit --filter "
alias art="php artisan"
alias migrate="php artisan migrate"

Bill Mitchell


alias a="php artisan"    
alias pu="vendor/bin/phpunit"
alias puf="vendor/bin/phpunit --filter "
alias pug="vendor/bin/phpunit --group "
alias cdo="composer dump-autoload -o"
alias serve="php artisan serve"

Jesús Amieiro


alias pa='php artisan'
alias par:l='php artisan route:list'
alias pam='php artisan migrate'
alias pam:r='php artisan migrate:refresh'
alias pam:rs='php artisan migrate:refresh --seed'
alias cu='composer update'
alias ci='composer install'
alias cda='composer dump-autoload -o'
alias vu='cd ~/Homestead && vagrant up'
alias vs='vagrant suspend'
alias vssh='vagrant ssh'

Piotr


alias artisan = "php artisan"
alias db-reset="php artisan migrate:reset && php artisan migrate --seed"

freekmurze


alias a="php artisan"

paulredmond


alias _='sudo'
alias art='php artisan'
alias tinker='php artisan tinker'
alias ll="ls -lh"
alias la='ls -lAh'
alias c='composer'
alias iphp='psysh' # repl
alias g='git'
alias gs='git status'
alias d='docker'
alias dc='docker-compose'
alias dm='docker-machine'
alias k='kubectl'
alias publicip='dig +short myip.opendns.com @resolver1.opendns.com'
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"

# Show file and folder permissions as octal
# Usage: `octal file.txt` or `octal my/path`
alias octal="stat -f '%A %a %N'"

# Mac conveniences for Linux
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
if type "xdg-open" &> /dev/null; then
    alias open="xdg-open"
fi

TJ Miller


nah: aliased to git reset --hard && git clean -fd
aa: aliased to php artisan

sebastiaanluca


# Hub (extend git commands)
alias git=hub

# Directories
alias ll='ls -FGlAhp'
alias ..="cd ../"
alias ...="cd ../../"
alias ....="cd ../../../"
alias .....="cd ../../../../"

alias df="df -h"
alias diskusage="df"
alias fu="du -ch"
alias folderusage="fu"
alias tfu="du -sh"
alias totalfolderusage="tfu"

alias finder='open -a 'Finder' .'

# Vagrant
alias vagrantgo="vagrant up && vagrant ssh"
alias vgo="vagrantgo"
alias vhalt="vagrant halt"
alias vreload="vagrant reload && vgo"

# PHP
alias c='composer'
alias cr='composer require'
alias cda='composer dumpautoload'
alias co='composer outdated --direct'
alias update-global-composer='cd ~/.composer && composer update'
alias composer-update-global='update-global-composer'

alias a='php artisan'
alias pa='php artisan'
alias phpa='php artisan'
alias art='php artisan'
alias arti='php artisan'

alias test='vendor/bin/phpunit'

alias y='yarn'
alias yr='yarn run'

# Homestead
alias edithomestead='open -a "Visual Studio Code" ~/Homestead/Homestead.yaml'
alias homesteadedit='edithomestead'
alias dev-homestead='cd ~/Homestead && vgo'
alias homestead-update='cd ~/Homestead && vagrant box update && git pull origin master'
alias update-homestead='homestead-update'

# Various
alias editaliases='open -a "Visual Studio Code" ~/.bash_aliases'
alias showpublickey='cat ~/.ssh/id_ed25519.pub'
alias ip="curl icanhazip.com"
alias localip="ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'"
alias copy='rsync -avv --stats --human-readable --itemize-changes --progress --partial'

# Functions
mkcdir ()
{
    mkdir -p -- "$1" &&
    cd -P -- "$1"
}

function homestead() {
    ( cd ~/Homestead && vagrant $* )
}

Alexander Melihov


alias ars="php artisan serve"
alias art="php artisan tinker"

jordonbaade


alias l="php artisan"

Deleu


alias unit='php vendor/phpunit/phpunit/phpunit'

alias unitreport='php -d xdebug.profiler_enable=On vendor/phpunit/phpunit/phpunit --coverage-html=./public/report'

alias laravel-installer='composer create-project --prefer-dist laravel/laravel'

curieuxmurray


alias artisan="php artisan"
alias cclear='php artisan cache:clear'
# now with 5.5
alias fresh="artisan migrate:fresh --seed"

wilburpowery


alias pf="phpunit --filter"
alias artisan="php artisan"
alias tinker="php artisan tinker"

waunakeesoccer1


alias mfs="php artisan migrate:fresh --seed'


От переводчика


Сам же я пользуюсь следующими алиасами:


alias art="php artisan"
alias da="composer dumpauto"
alias migrate="php artisan migrate"


Алиасы в Windows


В операционной системе Windows псевдонимы задаются при помощи команды doskey. Например:
doskey art=php artisan $*


Но есть одно «НО»: при последующем открытии командной строки Windows она «забудет» их. Исправить эту проблему очень легко.

Для удобства переходим в папку с Вашей учетной записью %USERPROFILE% и создаем в нем файл dos_aliases.bat.

Внутри файла прописываем нужные нам команды, например:

doskey art=php artisan $*


«Доллар со звездочкой» дают алиасу понимание того, что ему могут быть переданы какие-либо аргументы и/или параметры, например, art -V для вывода версии ядра движка.

Далее, в стартовом меню найдем командную строку (cmd.exe), щелкнем по ней правой кнопкой мыши и создадим ярлык, сохранив его на рабочий стол. Далее по этому ярлыку щелкаем правой кнопкой мыши, выбрав «Свойства» в выпадающем меню (по-английски «Properties» или «Eigenschaften» по-немецки), затем в поле «Цель» («Target» по-английски, или «Ziel» по-немецки в зависимости от используемой локализации ОС), где видим строку %windir%\system32\cmd.exe, дописываем /k %USERPROFILE%\dos_aliases.bat. Таким образом, мы заставляем подгружать наш файл при каждом запуске командной строки, открывая ее по этому ярлыку.



Полностью строка будет выглядеть так:
%windir%\system32\cmd.exe /k %USERPROFILE%\dos_aliases.bat


После этого сохраняемся и запускаем командную строку используя отредактированный нами ярлык. Вуаля!

OpenServer


Для тех, кто использует консоль из состава OpenServer, дела обстоят еще проще: конфигурация консоли хранится в файле %ConEmuBaseDir%\CmdInit.cmd.

Конечно, если ввести в путь, то операционная система будет ругаться. Это потому, что она не знает о существовании этого пути — он используется внутри окружения OpenServer дабы не захламлять систему.

Итак, нужный нам файл мы найдем в папке с установленным OpenServer: \modules\conemu\ConEmu\CmdInit.bat.

Открываем его текстовым редактором и в нижней части файла дописываем нашу команду:

doskey art=php artisan $*


Сохраняем и запускаем консоль. Profit!

По аналогии можете добавить абсолютно любые команды, которые упростят Вам жизнь сократив время на их ввод.

Windows PowerShell


Запускаем оболочку Windows PowerShell от имени администратора и проверяем права на запуск отдельных скриптов с расширением `ps1`, выполнив команду:

Get-ExecutionPolicy


По-умолчанию установлена политика `Restricted`, запрещающая выполнение любых скриптов. Мы заменим ее на `RemoteSigned`, разрешающую запускать все скрипты за исключением скачанных из сети:

Set-ExecutionPolicy RemoteSigned


Далее, создадим скрипт, который будет автоматически запускаться вместе с PowerShell:

New-Item -type file $PROFILE


В данном моменте возможно появление ошибки, так как в папке «Мои документы» не найдена директория "WindowsPowerShell" — создадим ее… да, вручную. После повторим команду.

Переходим в папку `%USERPROFILE%\Documents\WindowsPowerShell` и открываем файл `Microsoft.PowerShell_profile.ps1` текстовым редактором. В него мы и будем вписывать свои команды.

Во-первых, сразу прописал переход в нужный каталог:

cd "f:\dev\domains\"


А ниже размещены такие алиасы, как:

art = php artisan
migrate = php artisan migrate
down = php artisan down
up = php artisan up
cclear = php artisan cache:clear
da = composer dumpauto

docup = docker-compose up -d nginx mysql redis beanstalkd
docdown = docker-compose kill
doc = docker-compose exec workspace bash


Для того чтобы в PowerShell задать команду с параметром, нужно использовать функцию, внутри которой и будут принимаемые аргументы передаваться дальше. Таким образом, алиас команды`art` в оболочке PowerShell принимает вид:

function Call-Art
{
    php artisan $args
}
New-Alias -Name art -Value Call-Art


И завершу статью полным списком своих алиасов в оболочке Windows PowerShell:

# Set Main Directory
cd "f:\dev\domains\"


# Artisan Commands.
function Call-Art
{
    php artisan $args
}
New-Alias -Name art -Value Call-Art


# Run the database migrations.
function Call-Art-Migrate
{
    php artisan migrate
}
New-Alias -Name migrate -Value Call-Art-Migrate


# Put the application into maintenance mode.
function Call-Art-Down
{
    php artisan down
}
New-Alias -Name down -Value Call-Art-Down


# Bring the application out of maintenance mode.
function Call-Art-Up
{
    php artisan up
}
New-Alias -Name up -Value Call-Art-Up


# Flush the application cache
function Call-Art-Cache-Clear
{
    php artisan cache:clear
}
New-Alias -Name cclear -Value Call-Art-Cache-Clear


# Composer Dump-Autoload.
function Call-Composer-Dump-Autoload
{
    composer dumpauto
}
New-Alias -Name da -Value Call-Composer-Dump-Autoload


# Start the Docker
function Call-Start-Docker
{
	docker-compose up -d nginx mysql redis beanstalkd
}
New-Alias -Name docup -Value Call-Start-Docker


# Kill the Docker
function Call-Kill-Docker
{
	docker-compose kill
}
New-Alias -Name docdown -Value Call-Kill-Docker


# Enter the Docker
function Call-Enter-Docker
{
	docker-compose exec workspace bash
}
New-Alias -Name doc -Value Call-Enter-Docker


Отныне при каждом запуске программной оболочки наш файл будет автоматически подгружаться, предоставляя возможность пользоваться любимыми командами.
Поделиться публикацией

Комментарии 5

    0
    уникальная команда — «nah»
      0
      В оригинале так и написано:
      Another unique one that a few shared is a command called “nah”:
        0
        Насколько я понял, имелось ввиду из числа тех, что автору прислали.
      +1
      Спасибо за перевод, позновательно и интересно!
      • НЛО прилетело и опубликовало эту надпись здесь

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое