Utworzyłem instalację projektu Homestead na jeden projekt. Zawarłem after.sh
(w katalogu głównym), aby zapewnić inne pakiety, takie jak RethinkDB, bez żadnych problemów, ale plik aliases
(również w katalogu głównym), chociaż pojawia się w VM jako ~/.bash_aliases, nie uruchamia żadnego z aliasów, gdy Jestem wpisać je więc na przykład te aliasy.Laravel Homestead na projekt Zainstaluj Bash Nie ma poleceń Nie znaleziono
alias artisan='php artisan'
alias autoload='composer dump-autoload'
w wierszu poleceń jako:
artisan migrate:refresh --seed
autoload
Wyrzuć te błędy:
Could not open input file: artisan
autoload: command not found
Dzieje się tak w przypadku któregokolwiek z aliasów, które próbuję. Sprawdziłem, że ~/.bash_aliases (lub /home/vagrant/.bash_aliases) istnieje za pomocą nano i jest to z pewnością kopia aliasów. Po prostu żadne z poleceń nie są używane tak, jakby nie istniały lub tak, jakby plik we właściwym miejscu był niedostępny.
Ktoś wie dlaczego? lub jak to naprawić? To niesamowite, jak denerwujące jest to, że nie można używać aliasów, których zazwyczaj używałbym lokalnie, lub na globalnej instalacji Homestead podczas korzystania z tej maszyny wirtualnej.
UPDATE
zauważyłem uzyskać listę command not found
błędów kiedy SSH do VM, że równe liczby aliasów podaję. Ta sama lista pojawia się, jeśli uruchomię source ~/.bash_aliases
. Dla pełna klarowność .bash_aliases
znajduje się w /home/vagrant
obok odwzorowanym folderu źródłowego /home/vagrant/app
, a wyjście z SSHing do VM i skojarzonego pliku aliasy są wliczone:
SSH do VM
$ vagrant ssh
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64)
* Documentation: https://help.ubuntu.com/
Last login: Mon Feb 15 00:37:39 2016 from 10.0.2.2
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
: command not found
[email protected]:~$
pseudonimy File
# Homestead --------------------------------------------------------------------
alias ..="cd .."
alias ...="cd ../.."
alias h='cd ~'
alias c='clear'
alias phpspec='vendor/bin/phpspec'
alias phpunit='vendor/bin/phpunit'
# Laravel ----------------------------------------------------------------------
# Access Artisan when within project folder
alias artisan='php artisan'
# Access Tinker when within project folder
alias tinker="php artisan tinker --env=local"
# Composer --------------------------------------------------------------------
alias autoload='composer dump-autoload'
# App -------------------------------------------------------------------------
alias app="cd app"
After.sh File
#!/usr/bin/env bash
#
# Install RethinkDB on Ubuntu
# @see https://www.rethinkdb.com/docs/install/ubuntu/
#
# Add RethinkDB repository and install
source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y rethinkdb
# Setup RethinkDB as a service using default configuration file
#sudo cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf
#sudo vim /etc/rethinkdb/instances.d/instance1.conf
#sudo /etc/init.d/rethinkdb restart
# Setup RethinkDB as a service by copying the custom configuration file
sudo cp /home/vagrant/app/rethinkdb.conf /etc/rethinkdb/instances.d/instance1.conf
sudo /etc/init.d/rethinkdb restart
UPDATE 2
Nano wyjście .bash_aliases
, który wygląda jak złożyć moje pseudonimy, ale po to wyjście z alias
obcina pierwszą literę aliasów.
# Homestead ----------------------------------------------------------------------
alias ..="cd .."
alias ...="cd ../.."
alias h='cd ~'
alias c='clear'
alias phpspec='vendor/bin/phpspec'
alias phpunit='vendor/bin/phpunit'
# Laravel ----------------------------------------------------------------------
# Access Artisan when within project folder
alias artisan='php artisan'
# Access Tinker when within project folder
alias tinker="php artisan tinker --env=local"
# Composer --------------------------------------------------------------------
alias autoload='composer dump-autoload'
Wyjście z wpisanie alias
w terminalu:
[email protected]:~$ alias
'lias ..='cd ..
'lias ...='cd ../..
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
'lias artisan='php artisan
'lias autoload='composer dump-autoload
'lias c='clear
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
'lias h='cd ~
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
'lias phpspec='vendor/bin/phpspec
'lias phpunit='vendor/bin/phpunit
'lias tinker='php artisan tinker --env=local
FINAL SOLUTION
Dzięki @JoshRumbut do rozwiązania tego problemu, patrz poniżej swoich komentarzach.
[email protected]:~$ tr -d '\r' <~/.bash_aliases >~/tmp
[email protected]:~$ mv ~/tmp ~/.bash_aliases
[email protected]:~$ unalias -a
[email protected]:~$ source .bash_aliases
ta linia jest tak podejrzane. 'source' może przerwać linię poleceń' source/etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $ DISTRIB_CODENAME main" | sudo tee/etc/apt/sources.list.d/rethinkdb.list' – FZE