로그인 화면의 SSH 쉘 스크립트

로그인 화면의 SSH 쉘 스크립트

SSH에 로그인했을 때 이 명령을 실행하고 싶습니다.

명령은

watch -n 5 'zen-cli getinfo | grep blocks'

나는 다음을 수행하여 이 줄을 추가했습니다. sudo crontab -e

@reboot watch -n 5 'zen-cli getinfo | grep blocks'크론탭에 추가 했어요

그러나 이것은 내 문제를 해결하지 못합니다. SSH 로그인이 있을 때 다음과 같이 부팅 화면에 이 특정 출력을 표시하고 싶습니다.

    Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1 aarch64)
                _                     __   _  _   
 _ __ ___   ___| | ___ __  _ __ ___  / /_ | || |  
| '__/ _ \ / __| |/ / '_ \| '__/ _ \| '_ \| || |_ 
| | | (_) | (__|   <| |_) | | | (_) | (_) |__   _|
|_|  \___/ \___|_|\_\ .__/|_|  \___/ \___/   |_|  
                    |_|                           

 * Documentation:  
 * Management:     
 * Support:        

  System information as of Wed Dec  5 06:58:25 UTC 2018

  System load:  0.28               Processes:           163
  Usage of /:   24.1% of 58.39GB   Users logged in:     0
  Memory usage: 26%                IP address for eth0: 192.168.100.82
  Swap usage:   0%


 * MicroK8s is Kubernetes in a snap. Made by devs for devs.
   One quick install on a workstation, VM, or appliance.
Current zen blocks are synced at 

내가 실행하면 sh code반환됩니다.

rock64@rockpro64:/etc/update-motd.d$ sh 90-figlet 
+ zen-cli getinfo
+ grep blocks
+ printf Current zen blocks are synced at  "blocks": 424064,

그런데 로그아웃했다가 다시 로그인하면 로그인할 때 이런 메시지가 뜹니다.Current zen blocks are synced at <blank>

이 내 꺼야sh code

#!/bin/sh
set -x
printf "Current zen blocks are synced at  $(zen-cli getinfo | grep blocks)"

답변1

환경이 완전히 초기화되지 않은 문제인 것 같습니다.

다음은 나에게 효과적이었습니다.

#!/bin/sh
# set -x

blocks=`sudo zen-cli getinfo | grep \"blocks\"`

printf "\n"
printf "Current zen blocks are synced at  $blocks\n"

관련 정보