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'

작동하지 않습니다! 출력은 입력과 동일하게 유지됩니다.

관련 정보