私はWindowsマシンでLinuxシェルスクリプトを実行しようとしています。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コマンドを使用して、古いものから新しいシェルスクリプトを生成しました
この新しく生成されたスクリプトを実行すると、再びエラーが返されます
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)