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