Как выполнить простую команду при запуске на FreeBSD?

Существует множество различных вариантов решения этих проблем:

  • Используйте псевдонимы

    • Оба для часто используемых каталогов, например alias q = 'cd/ home/durrantm/Dropbox/94_2015/work/code/ruby__rails/ruby/ruby_quiz', а также для общих команд. Даже псевдоним p = pwd облегчает жизнь при вводе pwd сто раз в день. Вы заметите, что один буквенный псевдоним - мой любимый трюк.
  • Настройте запрос PS1 (поиск PS1 запроса), чтобы показать, где вы находитесь. Вот мой: enter image description here Функции:

    • показывает верхний 3 и нижний 2 каталоги (с подчеркиванием между более чем 5 уровнями)
    • возвращает каретку, поэтому фактическое приглашение в новой строке
    • использует цвет для другой информации
    • показывает мою ветвь git, когда я нахожусь в проекте git.
    • работает как на Ubuntu, так и на OSX (я использую и ежедневно)
    • показывает дату, пользователя и машину

    More at https://unix.stackexchange.com/a/127800/10043

  • Используйте ctrl-p в vim, как указано и показано muru

  • Установите и используйте autojump ( https://github.com/wting/autojump ) для запоминания посещенных каталогов командной строки. Это может быть идеально для тебя.

  • Поиск нечеткости командной строки также может соответствовать вашему стилю - подробнее на https://github.com/junegunn/fzf

  • Используйте z-оболочку, которая имеет тенденцию иметь более встроенную поддержку и лучшие опции, такие как cdpath (завершение каталога в формате меню Z Shell) и опция автозакда Z Shell,

-121--125210-

С предварительным именем (которое может быть rename в некоторых системах)

prename -vn -- 's/(?=[[:upper:]])/_/g' *.mp3

заменяет символ подчеркивания перед каждым прописным символом в каждом файле в текущем каталоге, имеющем суффикс .mp3

Опция -n обеспечивает сухое выполнение: он фактически не будет изменять имена файлов, если вы не удалите n

-121--166056-

Из вашего примера, я думаю, что вам нужно:

find . -name '*.tex' -execdir sh -c 'pdflatex --jobname=foo"${1##*/}" "\def\privatflag{""}\input{${1##*/}}"' {}-job {} \;

Чтобы разбить файл:

  • -execdir , выполните команду в каталоге, в котором был найден файл.
  • $ {1 # */} удаляет путь из аргумента, заданного find .
  • «» в {} не позволяет найти заменить {} соответствующим путем.

sh -c необходимо обработать путь, заданный путем поиска и извлечения только имени файла.

4
20.03.2019, 14:54
1 ответ

Самый простой способ — поместить эту команду в crontab.
Вместо первых пяти полей, обычно заполненных звездочками, вы можете разместить специальный токен@reboot

@reboot root:wheel /path/to/the/command [args...] 

Эта команда будет запускаться при каждой перезагрузке системы.

2
27.01.2020, 20:53

Теги

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