提问者:小点点

如何运行外壳脚本作为tortoiseSVN的客户端钩子脚本?


我已经写了外壳脚本,我试图把该脚本作为客户端钩子脚本,但没有得到脚本引擎,我应该使用它来运行. sh文件。通常,正如我所看到的,.js文件将被用作钩子脚本SVN不幸的是,我不太了解jscript,所以请帮助我如何添加和运行脚本SVN作为客户端钩子脚本。我尝试过使用WSCIP和CSCirpt,但它们都不适用于我的外壳脚本。

#!/bin/bash

MAIN_DIR="/cygdrive/e/Trunk/COMMON"
FILE_NAME="/cygdrive/e/Trunk_PRE_COMMIT_HOOK/long_path.txt"



lengthy_path=`find ${MAIN_DIR} -regextype posix-extended -regex '.{500,}'| awk -F'Trunk/' '{print $2}' > ${FILE_NAME}`



if [ -f ${FILE_NAME} ]
  then
   if [ -s ${FILE_NAME} ]
    then
        echo -e "\n\n\nSorry the path of a file exceeds 256 charectors, please make it shorten and try commiting again.You can see the path in $FILE_NAME"
    else
        echo -e "\n\n\nPath is perfect code can be committed..........."
fi
    else
        echo -e "\n\n\nFile not exists............"
fi

共1个答案

匿名用户

您正在尝试在视窗上执行bash脚本,这意味着您要么需要安装Cygwin,要么可以在视窗10中使用新的bash shell功能。我对这两者都没有什么经验,但希望我能给你指明正确的方向。

>

  • 如果您使用的是Cygwin,请在Tortoise钩子脚本配置对话框中使用以下命令(图4.87中的留档):

    C:\cygwin\bin\bash C:\path\to\your_script.sh
    

    (来源于此答案)

    如果您使用的是Windows 10 bash shell,请使用以下命令:

    bash -c "/mnt/c/path/to/your_script.sh"
    

    (来源于此页面下运行Linux命令从外部Bash)

    免责声明:我没有测试这些,因为我没有时间或手段。尝试一下,并留下一些反馈。