
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
Отныне при каждом запуске программной оболочки наш файл будет автоматически подгружаться, предоставляя возможность пользоваться любимыми командами.
