Можно ли запустить, например, history -w
для основной оболочки bash из сценария ruby?
Или лучше запустить встроенную команду для оболочки bash, зная только ее pid?
Единственный способ, который я нашел, - перехватить сигнал типа trap "history -w" SIGUSR1
и затем отправить сигнал на обработку, но я не уверен, что это хорошая практика, и USR1 не используется bash, также таким образом я могу выполнить max 2 команды (USR1 и USR2). И я должен определить ловушку перед ее использованием.
Я на Mac, так что нет SIGRTMIN ..SIGRTMAX.
Зачем мне это нужно:
Я создал сценарий оболочки ruby dt
который открывает новую вкладку рядом с текущей с тем же рабочим каталогом , затем я написал newTabHere.app, который может делать то же самое, но может делать это, даже если вкладка занята чем-то (я называю это с помощью Spark). Но было бы намного лучше, если бы история была такой же в дублированной вкладке, и для dt
я могу просто использовать alias dt='history -w; dt'
, но как я могу сделать это из newTabHere.app
?