2014-11-20 64 views
0

我爲我的ubuntu機器創建了一個install.sh文件。這個文件的目的是在ubuntu機器上啓動我的dotfiles的配置。但我也是一臺MacOsX機器。兼容Ubuntu和MacOsX的bash腳本

#!/bin/bash 
clear 
SCRIPT=$(readlink -f $0) 
SCRIPTPATH=`dirname $SCRIPT` 
cd $SCRIPTPATH && git submodule update -i 
rm -rf ~/.vim 
ln -s $SCRIPTPATH/.vim ~/.vim 
rm ~/.vimrc 
ln -s $SCRIPTPATH/.vimrc ~/.vimrc 
rm ~/.bashrc 
ln -s $SCRIPTPATH/.bashrc ~/.bashrc 

這是我所得到的,如果我在MacOSX上運行同一個腳本:

readlink: illegal option -- f 
usage: readlink [-n] [file ...] 
usage: dirname path 
fatal: Not a git repository (or any of the parent directories): .git 

我如何轉換我的 「install.sh」,因此它可以運行在MacOsX和Ubuntu上都有?

回答

0

只需使用第一個參數爲腳本名稱:

SCRIPT="$0" 

$0始終可用,始終包含完整的腳本名稱。如果要從鏈接執行腳本以便返回腳本的實際目標名稱,則只需要readlink