Piszę skrypt powłoki dla wbudowanego Linuksa w małym przemysłowym pudełku. Mam zmienną zawierającą tekst pid: 1234i 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.