Bashスクリプトはtmuxを開きますが、ユーザー名は表示できません

Bashスクリプトはtmuxを開きますが、ユーザー名は表示できません

いくつかの監視ツールを使用してtmuxセッションを開始するbashスクリプトがあり、起動時にそれを実行するcronjobがありますが、コマンドの一般的なプレフィックスを表示できず、矢印キーを使用することもできません。

ここに画像の説明を入力してください。

通常、次のようにする必要があります。

ここに画像の説明を入力してください。

(実際のスクリプト)

#!/bin/sh

cd /home/ubuntu/

tmux start-server

tmux new-session -d -s "0" bash
tmux selectp -t 1
tmux splitw -h -p 50
tmux selectp -t 2
tmux splitw -v -p 50
tmux selectp -t 3
tmux send-keys "htop" C-m

# Select pane 1
tmux selectp -t 0
tmux attach-session -t "0"
tmux detach

何が間違っていますか? ?

ベストアンサー1

cron ジョブが bash の代わりに sh または dash を開始したようです (Ubuntu は bash と sh を区別します...まだそのような場合かどうかはわかりません)。ps uxcron-tmuxの実行中にこれを確認できます。

実際のbashが始まったらそうではないかもしれませんsource ~/.bashrc。試してみる/bin/bash -iか、スクリプトから手動でインポートしてください。

また、クローン作業では、一般的に環境が小さい。 tmuxセッションに入り、env利用可能なエントリを確認すると手がかりを得ることができます。

あなたのcronがrootとして実行されている場合(あなたが言及していないのでユーザーであると仮定します)、彼のbashrcは小さくても存在しないかもしれないので、見苦しいcmdlineです。

おすすめ記事