다음 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'
아니요! 출력은 입력과 동일하게 유지됩니다.