将文件夹路径作为参数从 windows 批处理文件传递到 cygwin bash 脚本
passing folder path as argument from windows batch file to cygwin bash script
我正在尝试在 shell 脚本中执行以下命令:
find "" -type f -name "*.DAT" -exec sed -e 's/.*/\"&\"/' {} ';' -exec xargs wc -l ';'
命令应该从 windows 批处理文件 运行 如下:
set arg1=%1
C:\cygwin64\bin\bash.exe row_count.sh %arg1%
其中 row_count.sh 是包含上述查找命令的 shell 脚本。用户应该将文件夹路径传递给批处理文件,然后应该将文件夹路径参数传递给 shell 脚本中的查找命令。
但我收到以下错误:
FIND: Invalid Switch
请帮忙。
FIND: Invalid Switch
是来自 windows 的错误消息,而不是来自 cygwin 的
因此您需要使用登录 shell 来正确设置 PATH
C:\cygwin64\bin\bash.exe -l row_count.sh %arg1%
另外一定要放在第一行row_count.sh
#!/bin/bash
我正在尝试在 shell 脚本中执行以下命令:
find "" -type f -name "*.DAT" -exec sed -e 's/.*/\"&\"/' {} ';' -exec xargs wc -l ';'
命令应该从 windows 批处理文件 运行 如下:
set arg1=%1
C:\cygwin64\bin\bash.exe row_count.sh %arg1%
其中 row_count.sh 是包含上述查找命令的 shell 脚本。用户应该将文件夹路径传递给批处理文件,然后应该将文件夹路径参数传递给 shell 脚本中的查找命令。
但我收到以下错误:
FIND: Invalid Switch
请帮忙。
FIND: Invalid Switch
是来自 windows 的错误消息,而不是来自 cygwin 的
因此您需要使用登录 shell 来正确设置 PATH
C:\cygwin64\bin\bash.exe -l row_count.sh %arg1%
另外一定要放在第一行row_count.sh
#!/bin/bash