Взлом, который вы можете попробовать, заключается в следующем:
Создайте специальный
bash
файл .rc, который будет вашим исходным кодомbashrc
и запускает ваш скрипт. Давай называть это~/foo.rc
$ cat ~/foo.rc #!/bin/sh ~/Desktop/testterm
Создать новую «оболочку», которая требует
bash
с в~/foo.rc
качестве файла .rc. Сохраните этот скрипт какfake_shell
где-то в вашем$PATH
(например,~/config/bin
) и сделайте его исполняемым:- Теперь в вашем
testterm
скрипте запустите,Terminal
используяfake_shell
в качестве оболочки.
Сценарий становится:
#!/bin/sh if [ ! -t 0 ]; # stdin then TIMESTAMP=`date +%Y%m%d%H%M` echo "#!/bin/sh source /boot/common/etc/profile $0" > ~/temp_term$TIMESTAMP.rc echo "#!/bin/sh bash --rcfile ~/temp_term$TIMESTAMP.rc" > ~/config/bin/temp_shell$TIMESTAMP chmod a+x ~/config/bin/temp_shell$TIMESTAMP Terminal temp_shell$TIMESTAMP rm -f ~/config/bin/temp_shell$TIMESTAMP rm -f ~/temp_term$TIMESTAMP.rc fi echo "yay! terminal!" # your script here exit