Próbuję napisać scenariusz, ale utknąłem tutaj. Proszę zobaczyć kod!
aug@august:~/play$ for i in {1..100..4}
> do
> echo "august"
> touch august $i+$2
> mkdir dir
Czy jest jakiś sposób, aby przejść do poprzedniej linii? To znaczy, że był błąd, w którym się popełniłem touch august $i+$2
. Wcisnąłem ENTERklawisz, więc poszedłem do nowej linii. Jak mogę wrócić do poprzedniej linii?
command-line
bash
rɑːdʒɑ
źródło
źródło
Odpowiedzi:
bash
Edytor wiersza poleceń nie obsługuje tego, albo rób, jak sugeruje anwar , albo trzymaj wszystko w jednym wierszu oddzielone średnikami lub umieść to w pliku skryptu.Na marginesie
zsh
ma funkcje, które pomagają w tym.zsh
Redaktor linia (zle
) jest bardziej w pełni funkcjonalny edytor i podpory ruchome wewnątrz polecenia multi-line. Gdy polecenie staje się zbyt długie, aby je obsłużyćzle
, ma wbudowaną funkcjęedit-command-line
, która otwiera wiersz poleceń w twoim ulubionym edytorze. Zwykle nie jest związany, spróbuj z:Alt-e powinien teraz aktywować, zapisać i wyjść, aby wrócić do wiersza poleceń.
źródło
Po naciśnięciu Enteri pojawieniu się komunikatu o błędzie możesz po prostu wrócić do historii:
Wystarczy nacisnąć ↑klawisz na klawiaturze, aby naprawić literówkę. Jeśli naciśniesz ↑przycisk, terminal pokaże ci ten wiersz:
Popraw błędnie wpisane elementy
touch august $i+$2
i dodajdone
na końcu polecenia.Następnie naciśnij Enterklawisz. To powinno rozwiązać twój problem.
źródło
jak wyjaśniono tutaj , w bashu masz polecenia do manipulowania historią, zgodnie z instrukcją. Jednym z nich jest
edit-and-execute-command
.Spowoduje to otwarcie edytora z poleceniami wpisanymi w pliku tymczasowym i łatwe korygowanie poprzednich wierszy. Możesz to osiągnąć w trybie emacsa
C-xC-e
, oraz w trybie vi, naciskającv
w trybie normalnym.źródło
To działało dla mnie.
CTRL+ Cod prądu
command
. Następnie naciśnij ↑. Teraz możesz edytować dowolną linię, poruszając się za pomocąarrow buttons
- ← ↑ →lub ↓.Powodzenia...
źródło