어떻게 해야 하나요?
먼저 currentTimestamp 명령을 수동으로 실행하고 /home/steam/exiles/lastUpdate로 리디렉션해야 할 수도 있습니다.
#!/bin/sh
# NOTE: app_info_print/update uses the cache rather than pulling new information. Probably unintended. Definitely not useful for this application.
# Hence we need to delete the appcache to force a refresh
# On our system, the appcache can be found in /home/steam/Steam/appcache
# Delete appcache
rm -rf /home/steam/Steam/appcache/
# Pull new info and compare new timestamp to saved timestamp
# You may need to initially run the command for currentTimestamp manually and redirect it to /home/steam/exiles/lastUpdate
currentTimestamp=$(/home/steam/steamcmd/steamcmd.sh +login anonymous +app_info_update 1 +app_info_print 443030 +quit | grep -EA 1000 "^\s+\"branches\"$" | grep -EA 5 "^\s+\"public\"$" | grep -m 1 -EB 10 "^\s+}" | grep -E "^\s+\"timeupdated\"\s+" | tr '[:blank:]"' ' ' | awk '{print $2}')
lastTimestamp=$(cat /home/steam/exiles/lastUpdate)
if [ $currentTimestamp -gt $lastTimestamp ];
then
/home/steam/exiles/updateconan.sh
echo "$currentTimestamp" > /home/steam/exiles/lastUpdate
fi
당신의 도움을 주셔서 감사합니다
답변1
내가 아는 한, 한 줄에 /home/steam/exiles/lastUpdate
0( )이 포함된 파일을 생성하기만 하면 됩니다.0
스크립트가 좀 게으릅니다. 파일이 존재하지 않는다는 것을 쉽게 감지하고 파일에 0을 삽입하면 됩니다.
값이 0이면 if 문이 트리거되어 올바른 타임스탬프(즉, 대략 올바른)를 삽입합니다.