Использование псевдонима - это, конечно, вариант, если вы работаете с head
из coreutils версии 8.13. Это потому, что
head -n 5 -n 15 file_name
даст вам первые 15 строк имя_файла
(при условии, что в файле достаточно строк. Вторая опция -n
отменяет первую.
Поэтому вы можете создать псевдоним:
alias head="/usr/bin/head -n 5"
чтобы установить значение по умолчанию равным пяти, а затем использовать:
head -n 15 file_name
То же самое справедливо для tail
.
Когда вы выполняете что-то вроде
screen -dmS session_1
screen -S session_1 -X stuff "Rscript script_1.R\n"
вы отправляете на терминал (в ранее созданном экране )последовательность символов Rscript script_1.R\n
. Таким образом, оболочка выполнит команду, а затем будет ждать следующей команды.
Вам нужно выполнить что-то вроде Rscript script_1.R && exit
, чтобы попросить оболочку выйти после успешного завершения вашей команды (пожалуйста, адаптируйтесь к синтаксису вашей оболочки ).
screen -dmS session_1
screen -S session_1 -X stuff "Rscript script_1.R && exit\n"
В любом случае нет необходимости создавать окно, а затем «удаленно управлять» им. Вы можете просто попросить экран выполнить команду для вас.
screen -dm Rscript script_1.R
И последнее, но не менее важное: использовать экран для фонового сценария — одна из самых странных идей, которые я когда-либо слышал. Пожалуйста, используйте cron
или at
или &
вместо (в соответствии с вашими потребностями ).
Если «Rscript» — это не просто случайный пример, прочтите Запуск R-скрипта из командной строки .
R CMD BATCH script_1.R &
Если вы хотите «запланировать» сценарий, я думаю, что «Кронтаб» может быть хорошим решением. Другое решение — запустить скрипт в фоновом режиме (с & ).