Bash 날짜 계산 스크립트에서는 매개변수를 사용할 수 없습니다.

Bash 날짜 계산 스크립트에서는 매개변수를 사용할 수 없습니다.

다음 bash 스크립트는 작동하지 않습니다. 1582년 10월 14일 이후의 일수를 기준으로 날짜를 계산해야 합니다. 여기서 매개변수는 일수입니다.

d="$1"
date -d '14 Oct 1582 + "$d" days'

예를 들어 다음 명령은

./datedays.sh 154748

주어야 한다

Wed Jun 21 00:00:00 BST 2006

대신 오류가 발생합니다.

date: invalid date ‘14 Oct 1582 + "$d" days’

답변1

작은따옴표 대신 큰따옴표를 사용해야 합니다.

date -d "14 Oct 1582 + $d days"

답변2

큰 따옴표를 사용하면 작은 따옴표 안의 따옴표 이외의 내용이 해석되지 않으므로 스크립트에 큰 따옴표(작은 따옴표)를 사용합니다.

작은따옴표는 스크립트에서 $의 특별한 의미를 닫습니다.

#!/bin/bash
echo "$PATH"

일하다!

#!/bin/bash
echo '$PATH'

아니요! 출력은 입력과 동일하게 유지됩니다.

관련 정보