如何在OSX中的.bash_profile中获取外部文件?

时间:2015-12-12 02:08:19

标签: macos bash terminal alias .bash-profile

我在.bash_profile文件中定义了一些别名,别名按预期工作。 e.g

alias python-server="python -m SimpleHTTPServer 7070"

并且,当我打开新终端时,键入python-server打开一个python服务器,当前目录为root(或" /")。

但我有大约10个别名,我想备份别名所以我想创建一个包含这些别名的外部文件,并尝试从.bash_profile中获取该文件

source ~/personal/Dropbox/scripts/aliases.sh

但是当我打开新终端时,我收到了错误

Last login: Fri Dec 11 23:16:28 on ttys004
: No such file or directory
: command not found
: command not found

但是,我的命令工作正常。例如python-server按预期从外部文件工作。我只是想知道这个错误的原因,可能是实现这个目标的更好方法。

.bash_profile的内容

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

# Load aliases
source ~/personal/repo/scripts/aliases

PATH=$PATH:$HOME/personal/repo/scripts/commands
PATH=$PATH:$HOME/personal/repo/scripts/git
export PATH

别名文件的内容

#!/bin/bash

# ---------------
# Load my aliases
# ---------------
alias python-server="python -m SimpleHTTPServer 7070"

PS:现在,我从别名文件中删除了评论,并在打开新终端时将: command not found的数量从2减少到1

1 个答案:

答案 0 :(得分:2)

删除'控制码',即' \ r'来自你上面的文件。

如何检查:

  cat ~/.bashprofile  | od -c ## see any '\r's?

使用' vi'或者' vim'编辑文件或清理'使用' tr',即

tr -d '\r' ~/.bashprofile > ~/.bashprofile.mod  
cp ~/.bashprofile.mod ~/.bashprofile