내 스크립트에서 변수 대체를 사용하고 있지만 변수는 다른 시간에 호출되더라도 생성된 첫 번째 값을 사용합니다. 예를 들어:
#!/bin/sh
vardate=$(date)
echo hour is "$vardate"
sleep 5
echo hour is "$vardate"
나는 항상 같은 결과를 얻습니다. 그렇다면 이번에는 어떻게 두 번째 교체가 생성될 수 있습니까?
감사합니다!
답변1
@jasonwryan의 솔루션을 사용합니다.
echo hour is $(date)
아니면 함수로 바꿀 수도 있습니다:
function dt {
vardate=$(date)
echo "hour is $vardate"
}
dt
sleep 5
dt
한 줄 테스트:
function dt { var=$(date);echo $var;};dt;sleep 5;dt