2016-01-08 1 views
5

Я создал для каждого проекта установку Homestead. Я включил after.sh (в корневой каталог) для предоставления других пакетов, таких как RethinkDB, без проблем, но файл aliases (также в корневом каталоге), хотя и отображается в виртуальной машине как ~/.bash_aliases, не выполняет никаких псевдонимов, когда Я их набираете Так, например эти псевдонимы:.Laravel Homestead Per Project Установить Bash Псевдонимы Команды не найдены

alias artisan='php artisan' 
alias autoload='composer dump-autoload' 

в командной строке как:

artisan migrate:refresh --seed 
autoload 

Бросьте эти ошибки:

Could not open input file: artisan 
autoload: command not found 

Это происходит для любого из псевдонимов, которые я пытаюсь сделать. Я проверил, что ~/.bash_aliases (или /home/vagrant/.bash_aliases) существует с помощью nano, и это определенно копия псевдонимов. Просто ни одна из команд не используется, как если бы она не существовала или как будто файл, находящийся в нужном месте, недоступен.

Кто-нибудь знает почему? или как это исправить? Удивительно, как досадно не использовать псевдонимы, которые я обычно использую локально, или при глобальной установке Homestead при использовании этой виртуальной машины.

UPDATE

Я заметил, что я получаю список command not found ошибок, когда я SSH в VM, что равное количество псевдонимов я включил. Тот же список появляется, если я запустил source ~/.bash_aliases. Для полной ясности .bash_aliases находится в /home/vagrant рядом с отображенной исходной папки /home/vagrant/app, а выход из SSHing в VM, и связанного с ним файла псевдонимов включены:

SSH в 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]:~$ 

Псевдонимы Файл

# 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 Файл

#!/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 выход .bash_aliases, который выглядит как файл мои псевдонимы, но на выходе после этого из alias обрезает первую букву псевдонимами.

# 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' 

Выход из просто набрав alias в терминале:

[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 

окончательное решение

Благодаря @JoshRumbut для решения этой проблемы см ниже его комментарии.

[email protected]:~$ tr -d '\r' <~/.bash_aliases >~/tmp 
[email protected]:~$ mv ~/tmp ~/.bash_aliases 
[email protected]:~$ unalias -a 
[email protected]:~$ source .bash_aliases 
+0

эта линия настолько подозрительной. 'source' может сломать командную строку' source/etc/lsb-release && echo 'deb http://download.rethinkdb.com/apt $ DISTRIB_CODENAME main "| sudo tee/etc/apt/sources.list.d/rethinkdb.list' – FZE

ответ

1

Является ли bash сконфигурированным для просмотра в файле .bash_aliases?

Что произойдет, если вы запустите source ~/.bash_aliases? Они работают тогда?

Edit: теория тока является то, что странный характер, возможно, возврат каретки (\ г) встраивается в файл где-то, как и в таким образом, вопрос: https://unix.stackexchange.com/questions/35642/why-are-these-aliases-failing

+0

Привет, я просто попробовал ваши предложения, и он выбросил кучу ошибок 'command not found'. Это на самом деле то, что я заметил, что происходит каждый раз, когда я SSH в VM. Число ошибок 'command not found' равно числу псевдонимов. – mtpultz

+0

Это, безусловно, озадачивает, попробуйте запустить скрипт псевдонимов (и, возможно, after.sh), чтобы узнать, есть ли какие-либо проблемы с выявлением проблем: http://www.shellcheck.net –

+0

Вы также можете попробовать посмотреть результаты 'alias', чтобы узнать, что (если что-либо) определяется. –

 Смежные вопросы

  • Нет связанных вопросов^_^