diff --git a/debian-add-user.sh b/debian-add-user.sh index 4a80b8a..1e07986 100755 --- a/debian-add-user.sh +++ b/debian-add-user.sh @@ -35,11 +35,46 @@ else fi echo +testpath0=/faronear/sysconfig +testpath1=/faronear/fon/sysconfig +testpath2=~/faronear/fon/sysconfig +testpath3=~/faronear/fon.git/sysconfig +testpath4=~/faronear.git/fon.git/sysconfig + +if [ -d $testpath0 ] +then + SourcePath=$1 +elif [ -d $testpath1 ] +then + SourcePath=$testpath1 +elif [ -d $testpath2 ] +then + SourcePath=$testpath2 +elif [ -d $testpath3 ] +then + SourcePath=$testpath3 +elif [ -d $testpath4 ] +then + SourcePath=$testpath4 +elif [ -d $testpath5 ] +then + SourcePath=$testpath5 +else + echo "=== Enter [nixhome path] or leave [blank] to exit" + read -p ">>> " SourcePath + echo "" + if [ ! -d "$SourcePath" ] + then + echo "*** nixhome path [$SourcePath] not available! Exit now. ***" + exit + fi +fi + echo "=== Configure $NewUser's home with standard scripts? for yes, for no" read -p ">>> " ConfigHome if [ "$ConfigHome" == 'y' ] then - source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome $NewUser + source $SourcePath/home-config.sh $SourcePath/nixhome $NewUser else echo "--- Nothing configured." fi diff --git a/debian-config.sh b/debian-config.sh index 51ca81c..37c0b05 100755 --- a/debian-config.sh +++ b/debian-config.sh @@ -16,21 +16,21 @@ apt update apt install -y emacs git curl screen sudo automake rsync echo -echo "=== Making dir /faronear/fon" -mkdir -p /faronear/fon +echo "=== Making dir /faronear/" +mkdir -p /faronear/ echo -echo "=== Git cloning to /faronear/fon/sysconfig" +echo "=== Git cloning to /faronear/sysconfig" git config --global credential.helper cache -if [ ! -d "/faronear/fon/sysconfig" ] +if [ ! -d "/faronear/sysconfig" ] then - git clone https://git.faronear.org/fon/sysconfig /faronear/fon/sysconfig - chmod -R 755 /faronear # 确保其他用户能够读取 /faronear/fon/sysconfig/nixhome/* + git clone https://git.faronear.org/fon/sysconfig /faronear/sysconfig + chmod -R 755 /faronear # 确保其他用户能够读取 /faronear/sysconfig/nixhome/* fi echo echo "=== Configure root home" -source /faronear/fon/sysconfig/home-config.sh /faronear/fon/sysconfig/nixhome root +source /faronear/sysconfig/home-config.sh /faronear/sysconfig/nixhome root echo echo "=== Change root password? for yes, for omit:" @@ -101,7 +101,7 @@ echo "=== Add a new user [$NewUser]? for yes, for no change: read -p ">>> " AddNewUser if [ "$AddNewUser" == 'y' ] then - source /faronear/fon/sysconfig/debian-add-user.sh $NewUser + source /faronear/sysconfig/debian-add-user.sh $NewUser echo echo "=== Enable xfce autologin [/etc/lightdm/lightdm.conf]: for autologin as [$NewUser] or for no change:" diff --git a/git-pull-all.bat b/git-pull-all.bat index 74a0509..eb3b607 100644 --- a/git-pull-all.bat +++ b/git-pull-all.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> " diff --git a/git-pull-recursive.bat b/git-pull-recursive.bat index 83bad82..4067735 100644 --- a/git-pull-recursive.bat +++ b/git-pull-recursive.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> " diff --git a/git-push-all.bat b/git-push-all.bat index 6b34b71..ca17c25 100644 --- a/git-push-all.bat +++ b/git-push-all.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> " diff --git a/git-push-recursive.bat b/git-push-recursive.bat index 1706171..94092aa 100644 --- a/git-push-recursive.bat +++ b/git-push-recursive.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> " diff --git a/git-rename-branch.bat b/git-rename-branch.bat index 971f751..455778b 100755 --- a/git-rename-branch.bat +++ b/git-rename-branch.bat @@ -1,25 +1,32 @@ @echo off -echo *** Testing Path [%1] [D:\faronear] [C:\faronear] [%HOMEDRIVE%%HOMEPATH%\faronear] [../..] +@REM 首先清除可能残留的变量 +set FONPATH= -@ if not "%1" == "" ( - set BASEDIR=%1 -) else (if exist D:\faronear ( - set BASEDIR=D:\faronear -) else (if exist C:\faronear ( - set BASEDIR=C:\faronear -) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set BASEDIR=%HOMEDRIVE%%HOMEPATH%\faronear +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + +@ if not "" == "%1" ( + set FONPATH=%1 ) else ( - set BASEDIR=..\.. + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% +) else ( + set FONPATH=..\.. )))) -if not exist %BASEDIR% ( - echo *** [%BASEDIR%] not exist! Exit now. *** +if not exist %FONPATH% ( + echo *** [%FONPATH%] not exist! Exit now. *** @ GOTO END ) -pushd %BASEDIR% +pushd %FONPATH% echo *** Current path = [%CD%] *** @REM for /d %%d in (*) do ( pushd %%d & ( for /d %%d in (*) do ( if exist %%d/.git pushd %%d & echo --- git pulling: %%d ... & git pull & popd ) ) & popd ) @@ -27,7 +34,7 @@ echo *** Current path = [%CD%] *** for /d %%o in (*) do ( @REM windows的链接文件会造成路径错误,从而终止该循环,从而导致下一轮乃至所有循环的工作目录错误。因此要过滤掉 .vscode 这个符号链接目录。 if not %%o == .vscode ( - echo entering [%BASEDIR%\%%o] + echo entering [%FONPATH%\%%o] pushd %%o for /d %%g in (*) do ( if exist %%g\.git ( diff --git a/home-config.sh b/home-config.sh index c5e03e3..f1a1f5a 100755 --- a/home-config.sh +++ b/home-config.sh @@ -1,11 +1,16 @@ #!/bin/bash +testpath0=/faronear/sysconfig/nixhome testpath1=/faronear/fon/sysconfig/nixhome testpath2=~/faronear/fon/sysconfig/nixhome testpath3=~/faronear/fon.git/sysconfig/nixhome -testpath4=`pwd`/nixhome +testpath4=~/faronear.git/fon.git/sysconfig/nixhome +testpath5=`pwd`/nixhome if [ "$1" ] +then + SourcePath=$0 +elif [ -d $testpath0 ] then SourcePath=$1 elif [ -d $testpath1 ] @@ -20,13 +25,16 @@ then elif [ -d $testpath4 ] then SourcePath=$testpath4 +elif [ -d $testpath5 ] +then + SourcePath=$testpath5 else - echo "=== Enter [target path] or leave [blank] to exit" + echo "=== Enter [nixhome path] or leave [blank] to exit" read -p ">>> " SourcePath echo "" if [ ! -d "$SourcePath" ] then - echo "*** Source path [$SourcePath] not available! Exit now. ***" + echo "*** nixhome path [$SourcePath] not available! Exit now. ***" exit fi fi diff --git a/npm-boot-all.bat b/npm-boot-all.bat index ad33d7b..3ede3d5 100644 --- a/npm-boot-all.bat +++ b/npm-boot-all.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> " diff --git a/npm-boot-recursive.bat b/npm-boot-recursive.bat index 2592085..1d8c1fe 100644 --- a/npm-boot-recursive.bat +++ b/npm-boot-recursive.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> " diff --git a/npm-clear-all.bat b/npm-clear-all.bat index 421993d..4354f08 100644 --- a/npm-clear-all.bat +++ b/npm-clear-all.bat @@ -3,15 +3,20 @@ @REM 首先清除可能残留的变量 set FONPATH= +set CHOICE1=D:\faronear +set CHOICE2=C:\faronear +set CHOICE3=%HOMEDRIVE%%HOMEPATH%\faronear + @ if not "" == "%1" ( set FONPATH=%1 ) else ( - if exist D:\faronear ( - set FONPATH=D:\faronear - ) else (if exist C:\faronear ( - set FONPATH=C:\faronear - ) else (if exist %HOMEDRIVE%%HOMEPATH%\faronear ( - set FONPATH=%HOMEDRIVE%%HOMEPATH%\faronear + echo *** Testing Path [%CHOICE1%] [%CHOICE2] [%CHOICE3] + if exist "%CHOICE1" ( + set FONPATH=%CHOICE1% + ) else (if exist "%CHOICE2%" ( + set FONPATH=%CHOICE2% + ) else (if exist %CHOICE3% ( + set FONPATH=%CHOICE3% ) else ( echo === Enter [target path] or leave [blank] for default to '.' set /p FONPATH=">>> "