ログイン画面の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"

おすすめ記事