いくつかの監視ツールを使用して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 ux
cron-tmuxの実行中にこれを確認できます。
実際のbashが始まったらそうではないかもしれませんsource ~/.bashrc
。試してみる/bin/bash -i
か、スクリプトから手動でインポートしてください。
また、クローン作業では、一般的に環境が小さい。 tmuxセッションに入り、env
利用可能なエントリを確認すると手がかりを得ることができます。
あなたのcronがrootとして実行されている場合(あなたが言及していないのでユーザーであると仮定します)、彼のbashrcは小さくても存在しないかもしれないので、見苦しいcmdlineです。