因此,我有一個bash
腳本,它在服務器上輸出詳細信息。問題是我需要輸出爲JSON
。什麼是最好的方式去做這件事?下面是bash腳本:從Bash腳本輸出JSON
# Get hostname
hostname=`hostname -A` 2> /dev/null
# Get distro
distro=`python -c 'import platform ; print platform.linux_distribution()[0] + " " + platform.linux_distribution()[1]'` 2> /dev/null
# Get uptime
if [ -f "/proc/uptime" ]; then
uptime=`cat /proc/uptime`
uptime=${uptime%%.*}
seconds=$((uptime%60))
minutes=$((uptime/60%60))
hours=$((uptime/60/60%24))
days=$((uptime/60/60/24))
uptime="$days days, $hours hours, $minutes minutes, $seconds seconds"
else
uptime=""
fi
echo $hostname
echo $distro
echo $uptime
所以我想輸出是一樣的東西:
{"hostname":"server.domain.com", "distro":"CentOS 6.3", "uptime":"5 days, 22 hours, 1 minutes, 41 seconds"}
感謝。
是否有一個原因,你不想從Python做到這一切?我的意思是,無論如何你都在使用它,Python可以很容易地確定主機名,讀取正常運行時間並生成你想要的JSON。 – willglynn