gpt4 book ai didi

linux - windows环境下运行Linux Shell脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:58 26 4
gpt4 key购买 nike

我一直在尝试在 Windows 机器上运行 Linux shell 脚本。要在 Windows 环境中运行脚本,我选择了 Cygwin。

当我第一次开始使用 cygwin 运行脚本时,我首先遇到了以下问题。

line 12: $'\r': command not found

但是第12行没有任何命令

  08  #
09 ######################################################################
10 #### PARAMETERS TO SET BEGIN
11 ######################################################################
12
13 # archive setttings
14 ARCHIVE_USER=abc # archive storage user name (default)
15 ARCHIVE_GROUP=app # archive storage user group (default)
16 ARCHIVE_PATH=/test/file # archive storage directory (default)
17 ARCHIVE_DELAY=+8

要解决此问题,请使用 dos2unix 命令并从旧的 shell 脚本生成新的 shell 脚本

当我运行这个新生成的脚本时,它再次返回一个错误

housekeeper.sh: 2: Syntax error: newline unexpected

以下是 dos2unix 生成的脚本。

>#!/bin/bash
>>#
>># Date : 2012-03-22 (yyyy-mm-dd)

有人能给我解释一下这里的第 2 行有什么问题吗?

在此先感谢您的帮助

以下是我尝试运行的脚本的顶部,这是我使用 dos2unix 命令转换后得到的脚本

>#!/bin/bash
>>#
>># Date : 2012-03-22 (yyyy-mm-dd)
>># Modified by : ABC
>># Goal : Draft version for X house keeping environment
>>#
>># Description : This script perform housekeeping of XYS products.
>>#
>>######################################################################
>>#### PARAMETERS TO SET BEGIN
>>######################################################################
>>
>># archive setttings
>>ARCHIVE_USER=user1 # archive storage user name (default)
>>ARCHIVE_GROUP=gapp # archive storage user group (default)
>>ARCHIVE_PATH=/product/file # archive storage directory (default)
>>ARCHIVE_DELAY=+8 # archive files older than delay (in days)
>>
>># purge setttings
>>PURGE_DELAY=+30 # purge files older than delay (in days)

最佳答案

这听起来像是行终止问题(Windows 使用回车、换行,而 Unix 仅使用换行)。您可以使用转换行终止符的 dos2unix(和 unix2dos)更正这些问题。

尝试:

$ dos2unix myscript.sh

关于linux - windows环境下运行Linux Shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10595182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com