これを試してみてください
#!/bin/bash
SIZE=$(redis-cli info | grep used_memory: | awk -F':' '{print $2}')
MAX=19000000000
if [ "$SIZE" -gt "$MAX" ]; then
echo 123
fi
しかし、いつも「Ganzzahliger Ausdruck erwartet」を入手してください。
SIZEをエコーすると、2384934と同じ値が得られます。値を変換する必要がないか、変換できますか?それとも変換できますか?
redis-cli情報出力:
# Memory
used_memory:812136
used_memory_human:793.10K
used_memory_rss:6893568
used_memory_rss_human:6.57M
used_memory_peak:329911472
used_memory_peak_human:314.63M
total_system_memory:16760336384
total_system_memory_human:15.61G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:8.49
mem_allocator:jemalloc-3.6.0
編集:バグが見つかりました。 awkコマンドでprintを使用しました。バグなしで動作しました。
SIZE=$(redis-cli info | grep used_memory: | awk -F':' '{$2}')
ベストアンサー1
あなたが使用する数字は非常に大きいようですbash
。次のように試すことができます。
#!/bin/bash
SIZE=$(redis-cli info | awk -F':' '$1=="used_memory" {print int($2/1000)}')
MAX=19000000
if [ "$SIZE" -gt "$MAX" ]; then
echo 123
fi