次のようにtmux-launching-scriptを実行するcrontabがあります。
-sh-3.00# crontab -l
@reboot /root/scripts/tmux_autostart.sh
どこ
#!/bin/bash
# setup tmux session
tmux new -d -s my_session
しかし、システムが起動すると通常のプロンプトは表示されませんが、シェル迅速:
-sh-3.00#
自分の設定にすでにこのエントリがある場合、これをbashに変更するにはどうすればよいですか?.tmux.conf
set-option -g default-shell /bin/bash
編集する
-sh-3.00# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
ベストアンサー1
あなたの@reboot
仕事はルートのcrontabにあります。 crontabに設定された変数はそのcrontabにのみ適用されるため、crontabの設定は/etc/crontab
rootのcrontabで実行される操作には影響しません。
Cronのデフォルトのシェルは、オーバーライドされない限り、環境変数が設定されること/bin/sh
です。だからTmuxは。SHELL
/bin/sh
SHELL=/bin/sh
/bin/sh
バージョンがBash 3.00のようです。プロンプトは、bashがログインシェルで始まり、初期化ファイルが設定されていないことを示しますPS1
(初期化ファイルがまったくない可能性があります)。
default-shell
で設定すると、この変数は環境変数~/.tmux.conf
よりも優先されます。私はあなたがルートのホームディレクトリにSHELL
表示されず、他の場所、おそらくあなた自身のホームディレクトリに表示されると思います。.tmux.conf
SHELL=/bin/bash
ルートのcrontabで設定するか、.tmux.conf
ルートのホームディレクトリにファイルを書き込むかを選択できます。