Piszę skrypt powłoki dla wbudowanego Linuksa w małym przemysłowym pudełku. Mam zmienną zawierającą tekst pid: 1234
i chcę usunąć pierwsze X znaków z linii, więc pozostaje tylko 1234. Mam więcej zmiennych, które muszę „wyczyścić”, więc muszę wyciąć X pierwszych znaków iz ${string:5}
jakiegoś powodu nie działa w moim systemie.
Wydaje się, że jedyne, co ma to pudełko, to sed
.
Próbuję, aby zadziałało:
result=$(echo "$pid" | sed 's/^.\{4\}//g')
Jakieś pomysły?
${string:5}
nie działa, nie używasz Bash ani innej powłoki obsługującej tę składnię. Jakiej powłoki i wersji używasz? Jak wygląda twój shebang? Domyślam się, że używaszsh
(np.dash
) Lub prawdopodobniezsh
.