Czy można wykonać aktualnie otwarty skrypt z poziomu `mcedit`?

1

Kiedy zmieniam małe skrypty mcedit, czasami chcę je natychmiast „przetestować”. Przełączanie na inny terminal / konsolę wirtualną jest dość denerwujące, więc musi być lepszy sposób. W rzeczywistości nie każdy skrypt jest oznaczony jako wykonywalny, chociaż w większości przypadków mają przynajmniej linię shebang.

Czy można wykonać aktualnie otwarty skrypt od wewnątrz mcedit? Jeśli tak, czy mogę przekazać parametry?

Mbx
źródło

Odpowiedzi:

2

Możesz edytować plik menu użytkownika, aby dodać / zmodyfikować powiązania klawiszy. Zobacz tutaj .

Ponieważ nie miałem ~/.mc/cedit/menupliku, skopiowałem go/etc/mc/cedit.menu

Jeśli chcesz uruchomić skrypty oznaczone jako wykonywalne i przekazać parametry, możesz dodać coś takiego

r       run
        PARAM=%{parametes}
        %f $PARAM

do twojego ~/.mc/cedit/menupliku.

W tym przykładzie r będzie kluczem do uruchamiania skryptów po przejściu do menu użytkownika (F11), zmień r na cokolwiek chcesz. %fto makro dla nazwy pliku otwartego pliku.

W przypadku skryptów powłoki nieoznaczonych jako pliki wykonywalne należy zmienić ostatni wiersz w powyższym przykładzie do przeczytania

sh %f $PARAM

W pliku menu znajdują się wskazówki dotyczące składni i wielu szablonów. Są też filtry dla rozszerzeń nazw plików, zobacz te szablony, aby mieć przykłady.

użytkownik90485
źródło
pojawi się pozycja menu. Zamiast zapisanego skryptu wydaje się, że uruchamia kopię /tmp. Niestety dane wyjściowe nie są dostarczane: brak logów, brak interakcji z użytkownikiem ...
mbx
Prosty skrypt z pwd pokazuje właściwą ścieżkę (tzn. Nie / tmp). Nie miałem problemów z interaktywnością. Aby zobaczyć wynik, spróbuj Ctrl + o lub zobacz szablon języka c / c ++ w pliku menu (echo -ne "... Naciśnij dowolny klawisz, aby ..."; czytaj). Pamiętaj, aby przekazać przynajmniej jeden parametr, jeśli o nie poprosiłeś (jak w moim przykładzie powyżej).
user90485,
0

Nie wiem, czy możesz to zrobić z poziomu mcedit, ale jeśli uruchomisz mcedit jako wewnętrzny edytor północnego dowódcy, naciśnij Ctrl + o, aby przejść w tę iz powrotem do linii poleceń bez potrzeby używania innego terminalu.

użytkownik90485
źródło
to właśnie robiłem od dłuższego czasu - to denerwujące. Mógłbym również użyć screen, ale nie tego chcę.
mbx