find delete показывает «Нет такого файла или каталога»

На странице руководства tmux есть команда display-message :

display-message [-p] [-c target-client] [-t target -pane] [message]

(псевдоним: display)

Показать сообщение. Если задано -p, вывод выводится на стандартный вывод, в противном случае он отображается в строке состояния целевого клиента. Формат сообщения описан в разделе ФОРМАТЫ; информация берется из целевой панели, если задано -t, в противном случае - активная панель для сеанса, подключенного к целевому клиенту.

В разделе FORMATS есть переменная с именем имя_сеанса , она будет заменена именем сеанса, если вы используете его в формате # {имя_сеанса} .

Попробуйте запустить tmux display-message -p '# {session_name}' , когда вы находитесь в сеансе tmux. Возможно, вы увидите число, это идентификатор подключенного сеанса. Запустите tmux ls , чтобы проверить список сеансов.

Однако, когда вы запускаете tmux с помощью tmux new -s myproject , вы увидите myproject в качестве вывода, но не число. Потому что вы указали имя сеанса при запуске tmux.

Итак, мое решение - поместить фрагмент кода в файл ~ / .bashrc :

# [tmux] load scripts in ~/.tmux on creating a new pane
# load order: __before__.sh, ${session_name}.sh, __after__.sh
function tmux_load_startup_scripts_by_session_name() {  
  if [[ -n ${TMUX} ]]; then
    local env_before_script="${HOME}/.tmux/__before__.sh"
    [[ -f "${env_before_script}" ]] && { . "${env_before_script}"; }
    local env_main_script="${HOME}/.tmux/$(tmux display-message -p '#{session_name}').sh"
    [[ -f "${env_main_script}" ]] && { . "${env_main_script}"; }
    local env_after_script="${HOME}/.tmux/__after__.sh"
    [[ -f "${env_after_script}" ]] && { . "${env_after_script}"; }
  fi
}
tmux_load_startup_scripts_by_session_name  

Использование

mkdir ~/.tmux
cat "__before__.sh" > ~/.tmux/__before__.sh
cat "__after__.sh" > ~/.tmux/__after__.sh
cat "sample.sh" > ~/.tmux/sample.sh
tmux new -s sample

Вы увидите результат на каждой созданной вами панели:

__before__.sh
sample.sh
__after__.sh

Преимущество это решение заключается в том, что вы можете указать разные сценарии для разных проектов или среды.

2
27.08.2015, 01:28
1 ответ
100 Days = 144,000 Minutes = 144000 Minutes -daystart Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the beginning of today rather than from 24 hours ago. This option only affects tests which appear later on the command line. find "$(pwd)" -daystart -amin +144000 -exec ls -ltrio {} +
-1
27.01.2020, 22:05

Теги

Похожие вопросы