Laravel Bash Aliases

Bash aliases là shortcut thêm vào 1 file cho phép bạn tham chiếu đến 1 lệnh khác thông qua nhiều từ dễ nhớ, từ viết tắt, hoặc các kí tự. Ví dụ, nếu bạn sử dụng Git, bạn có thể chạy git status rất nhiều lần trong ngày, vậy để tiết kiệm thời gian bạn có thể sử dụng alias gs thay vì git status, và nó sẽ tự động gọi đến câu lệnh tương ứng.

Mỗi người có 1 mẫu shortcut khác nhau, ví dụ, a, pa, hoặc art dành cho câu lệnh php artisan. Có 1 alias độc mà ít người chia sẻ là alias nah:

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

Câu lệnh trên thật sự rất hay và để chứng minh nó hoạt động thế nào, giả sử bạn bắt đầu làm 1 vài feature mới, có thể bạn đã thêm vào 1 vài file mới, và sau giờ nghỉ trưa, bạn quyết định tất cả những cái bạn vừa làm là sai. Khi đó bạn sử dụng nah, nó sẽ reset toàn bộ code của bạn về trạng thái như lúc chưa sửa, và xóa toàn bộ file mà git không biết. Rất thuận tiện và hữu dụng!

Làm thế nào để tạo Bash Aliases của riêng bạn

Dành cho những người mới tạo bash aliases, cách làm rất đơn giản. Đầu tiên, mở file ~/.bashrc trong thư mục home của bạn bằng 1 text editor. Bỏ comment hoặc thêm vào những dòng sau:

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

Nó sẽ load file .bash_aliases nếu file đó tồn tại, vậy nên bạn có thể để tất cả aliases vào trong file đó để có thể dễ dàng chia sẻ và update. Cuối cùng, tạo file ~/.bash_aliases và thêm những dòng sau như những alias đầu tiên của bạn:

alias art="php artisan"

Lưu file lại, và chạy lệnh sau ở Terminal:

source ~/.bashrc

Từ đây bạn có thể gõ art và nó sẽ tự động chạy lệnh php artisan. Nhớ rằng bất cứ khi nào bạn chỉnh sửa file .bash_aliases bạn sẽ phải source lại hoặc reset Terminal để nó có thể sử dụng được

Laravel Bash Aliases từ cộng đồng

Dưới đây là 1 danh sách alias đang được cộng đồng Laravel sử dụng

WaveHack

# Laravel

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

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

# Misc PHP

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

bmadigan

nah='git reset --hard;git clean -df'
vm='ssh [email protected] -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'

https://laravel-news.com/bash-aliases https://laravel-news.com/@ericlbarnes