mirror of
https://github.com/bin456789/reinstall.git
synced 2025-02-20 05:33:07 +08:00
core: 修复 windows 下参数有问号时无法正确传递
This commit is contained in:
parent
e57a15118b
commit
3d11c791a7
@ -142,18 +142,21 @@ if not exist reinstall.sh (
|
|||||||
call :chmod a+x %thisdir%reinstall.sh
|
call :chmod a+x %thisdir%reinstall.sh
|
||||||
)
|
)
|
||||||
|
|
||||||
|
rem %* 无法处理 --iso https://x.com/?yyy=123
|
||||||
rem 为每个参数添加引号,使参数正确传递到 bash
|
rem 为每个参数添加引号,使参数正确传递到 bash
|
||||||
for %%a in (%*) do (
|
rem for %%a in (%*) do (
|
||||||
set "param=!param! "%%~a""
|
rem set "param=!param! "%%~a""
|
||||||
)
|
rem )
|
||||||
|
|
||||||
rem 方法1
|
rem 转成 unix 格式,避免用户用 windows 记事本编辑后换行符不对
|
||||||
%SystemDrive%\cygwin\bin\dos2unix -q '%thisdir%reinstall.sh'
|
%SystemDrive%\cygwin\bin\dos2unix -q '%thisdir%reinstall.sh'
|
||||||
%SystemDrive%\cygwin\bin\bash -l -c '%thisdir%reinstall.sh !param!'
|
|
||||||
|
|
||||||
rem 方法2
|
rem 用 bash 运行
|
||||||
rem %SystemDrive%\cygwin\bin\bash reinstall.sh %*
|
rem %SystemDrive%\cygwin\bin\bash -l %thisdir%reinstall.sh %* 运行后会清屏
|
||||||
rem 再在 reinstall.sh 里运行 source /etc/profile
|
rem 因此不能用 -l
|
||||||
|
rem 这就需要在 reinstall.sh 里运行 source /etc/profile
|
||||||
|
rem 或者添加 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
|
||||||
|
%SystemDrive%\cygwin\bin\bash %thisdir%reinstall.sh %*
|
||||||
exit /b
|
exit /b
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@ WINDOWS_EXES='cmd powershell wmic reg diskpart netsh bcdedit mountvol'
|
|||||||
export LC_ALL=C
|
export LC_ALL=C
|
||||||
|
|
||||||
# 处理部分用户用 su 切换成 root 导致环境变量没 sbin 目录
|
# 处理部分用户用 su 切换成 root 导致环境变量没 sbin 目录
|
||||||
|
# 也能处理 cygwin bash 没有添加 -l 运行 reinstall.sh
|
||||||
# 不要漏了最后的 $PATH,否则会找不到 windows 系统程序例如 diskpart
|
# 不要漏了最后的 $PATH,否则会找不到 windows 系统程序例如 diskpart
|
||||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
|
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user