문제의 파일 이름입니다OD_Orders_2019-02-19.csv
파일 이름의 나머지 부분은 유지하면서 파일 이름에 어제 날짜가 포함된 파일을 읽는 bash 스크립트를 만들려고 합니다. $y
수식 출력이 파일 이름과 그 사이의 정확한 날짜와 같기를 원합니다 . 이것이 내가 지금까지 가지고 있는 것입니다:
어제 날짜를 올바른 형식으로 얻기 위해 x를 만들었습니다.
x="date -d yesterday +%Y-%m-%d"
y="OD_Orders_$x.csv"
문제는 에코를 수행할 때 결과가 $y
다음과 같다는 것입니다.
OD_Orders_date -d yesterday +%Y-%m-%d.csv
$x
echo $y
수식을 표시하지 않고 때의 값을 올바르게 표시해야 합니다 . $y
이 스크립트에서 나중에 더 많이 사용하고 싶기 때문에 올바른 형식의 어제 날짜가 포함된 파일 이름이 필요합니다 .
답변1
당신은 사용해야합니다명령 대체 $( ... )
명령 자체가 아닌 명령의 출력을 바꿉니다.
x="$(date -d yesterday +%Y-%m-%d)"
y="OD_Orders_${x}.csv"
물론 다음과 같이 단순화할 수 있습니다.
y="OD_Orders_$(date -d yesterday +%Y-%m-%d).csv"