diff --git a/git-pull-all.bat b/git-pull-all.bat index fb9a30c..78feef9 100644 --- a/git-pull-all.bat +++ b/git-pull-all.bat @@ -28,18 +28,18 @@ echo; for /d %%o in (*) do ( @REM windows的链接文件会造成路径错误,从而终止该循环,从而导致下一轮乃至所有循环的工作目录错误。因此要过滤掉 .vscode 这个符号链接目录。 if not %%o == .vscode ( - @REM 每次 git pull 都会造成 .git 目录下某些文件变化,导致云端不断自动同步。因此过滤掉 *@cloud 的目录不做更新。 + @REM 每次 git pull 都会造成 .git 目录下某些文件变化,导致云端不断自动同步。因此过滤掉云盘的目录不做更新。 echo %%o | findstr "~" >NUL && ( echo !!!!!!!! omitting [%BASEDIR%\%%o] !!!!!!!! echo; ) || ( - echo -------- entering [%BASEDIR%\%%o] -------- + echo ======== entering [%BASEDIR%\%%o] ======== echo; pushd %%o for /d %%g in (*) do ( if exist %%g\.git ( pushd %%g - echo git pulling [%BASEDIR%\%%o\%%g] + echo ---- git pulling [%BASEDIR%\%%o\%%g] ---- git pull --all echo; popd diff --git a/git-pull-all.sh b/git-pull-all.sh index bed69dc..1e489c7 100755 --- a/git-pull-all.sh +++ b/git-pull-all.sh @@ -32,25 +32,23 @@ pushd $FONPATH echo "*** Current path = [`pwd`] ***" echo "" -for org in `ls | grep -v '~'` +# for org in `ls -F | grep '/$' | grep -v '~'` ## 首先过滤出所有子目录,然后过滤出所有不含 ~ 的子目录。注意 for ??? in `ls ???` 是按照空行以及空格进行分割的,因此最后筛选出的目录名不能含有空格,否则就被分割成多个了。 +ls -F | grep '/$' | grep -v '~' | while read org ## 换用这种方法,可以成功过滤出含有空格的完整目录名 do - if [ -d $org ] - then - echo "-------- entering [$FONPATH/$org] --------" - echo "" - cd $org; - for repo in `ls .` - do - if [ -d $repo/.git ] - then - echo "git pulling [$FONPATH/$org/$repo]" - cd $repo - git pull --all - echo "" - cd .. - fi - done - cd .. - fi + echo "======== entering [$FONPATH/$org] ========" + echo "" + cd "$org"; + for repo in * ## for ??? in * 是分割成一个个目录名的,即使目录名含有空格 + do + if [ -d "$repo/.git" ] + then + echo "---- git pulling [`pwd`/$repo] ----" + cd "$repo" + git pull --all + echo "" + cd .. + fi + done + cd .. done popd diff --git a/install-debian11.sh b/install-debian11.sh old mode 100644 new mode 100755 diff --git a/install-nodejs-centos.sh b/install-nodejs-centos.sh old mode 100644 new mode 100755 diff --git a/npm-boot-all.bat b/npm-boot-all.bat index 82902fe..14ab63f 100644 --- a/npm-boot-all.bat +++ b/npm-boot-all.bat @@ -21,22 +21,26 @@ if not exist %BASEDIR% ( pushd %BASEDIR% echo *** Current path = [%CD%] *** +echo; @REM for /d %%d in (*) do ( pushd %%d & ( for /d %%d in (*) do if exist %%d/package.json ( pushd %%d & echo --- npm booting: %%d ... & npm run boot & popd ) ) & popd ) for /d %%o in (*) do ( if not %%o == .vscode ( echo %%o | findstr "~" >NUL && ( - echo !!! omitting [%BASEDIR%\%%o] + echo !!!!!!!! omitting [%BASEDIR%\%%o] !!!!!!!! + echo; ) || ( - echo entering [%BASEDIR%\%%o] + echo ======== entering [%BASEDIR%\%%o] ======== + echo; pushd %%o for /d %%g in (*) do ( if exist %%g\package.json ( findstr "\"boot\"" %%g\package.json >NUL && ( pushd %%g - echo npm booting [%BASEDIR%\%%o\%%g] + echo ---- npm booting [%BASEDIR%\%%o\%%g] ---- npm run boot + echo; popd ) ) diff --git a/npm-boot-all.sh b/npm-boot-all.sh index 39869bc..23e8e66 100755 --- a/npm-boot-all.sh +++ b/npm-boot-all.sh @@ -30,22 +30,23 @@ fi pushd $FONPATH echo "*** Current path = [`pwd`] ***" -for org in `ls | grep -v '~'` +# for org in `ls -F | grep '/$' | grep -v '~'` ## 首先过滤出所有子目录,然后过滤出所有不含 ~ 的子目录。注意 for ??? in `ls ???` 是按照空行以及空格进行分割的,因此最后筛选出的目录名不能含有空格,否则就被分割成多个了。 +ls -F | grep '/$' | grep -v '~' | while read org ## 换用这种方法,可以成功过滤出含有空格的完整目录名 do - if [ -d $org ] - then - cd $org; - for repo in `ls .` - do - if ( [ -f $repo/package.json ] && grep -q '"boot"' $repo/package.json ) - then - echo '>>>>>> npm booting: ' $org/$repo - cd $repo - npm run boot - cd .. - fi - done - cd ..; - fi + echo "======== entering [$FONPATH/$org] ========" + echo "" + cd "$org"; + for repo in * ## for ??? in * 是分割成一个个目录名的,即使目录名含有空格 + do + if ( [ -f "$repo/package.json" ] && grep -q '"boot"' "$repo/package.json" ) + then + echo "---- npm booting: [$org/$repo] ----" + cd "$repo" + npm run boot + echo "" + cd .. + fi + done + cd ..; done popd diff --git a/npm-clear-all.bat b/npm-clear-all.bat index eaeeac3..7f644fa 100644 --- a/npm-clear-all.bat +++ b/npm-clear-all.bat @@ -21,16 +21,20 @@ if not exist %BASEDIR% ( pushd %BASEDIR% echo *** Current path = [%CD%] *** +echo; @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 ) for /d %%o in (*) do ( + echo ======== entering [%BASEDIR%\%%o] ======== + echo; pushd %%o for /d %%g in (*) do ( if exist %%g\node_modules ( pushd %%g - echo Deleting [%%g\node_modules] + echo ---- Deleting [%%g\node_modules] ---- rd /s /q node_modules + echo; popd ) )