@chaos Пожалуйста, не редактируйте вопрос так, чтобы он лучше соответствовал вашему ответу ;-).
Pilot6
@ Pilot6 Я не изменил значение. Или я что-то не так понимаю? Я сделал его лучше, чтобы найти (название) и более читабельным. У BTW : есть и другие значения, например, это встроенная команда bash. Я хотел отличаться от этого, потому что вопрос явно не об этом. Пользователь имеет в виду :оператор внутри имени переменной. Извините, я не хочу кого-то раздражать, но ваш откат не имеет смысла и должен быть отменен, но я не хочу войны редактирования здесь. Кроме того, это специфичные для bash и скриптов, так зачем удалять эти теги?
хаос
Вы удалили TEMPи VARпеременные и изменили вопрос так, чтобы другие ответы потеряли смысл.
Pilot6
@ Pilot6 В своем ответе я не ссылаюсь на VARпеременную. Но, тем не менее, вы можете изменить эту вещь обратно. Я хотел сделать вопрос более общим, менее конкретным. Это никогда не должно было саботировать другие ответы.
хаос
2
@ SnakeDoc нет, все по теме, все в порядке
Muru
Ответы:
15
Это расширение переменной и работает следующим образом (обратите внимание, что это только bashи kshспецифично и не будет работать в оболочке POSIX):
:
есть и другие значения, например, это встроенная команда bash. Я хотел отличаться от этого, потому что вопрос явно не об этом. Пользователь имеет в виду:
оператор внутри имени переменной. Извините, я не хочу кого-то раздражать, но ваш откат не имеет смысла и должен быть отменен, но я не хочу войны редактирования здесь. Кроме того, это специфичные для bash и скриптов, так зачем удалять эти теги?TEMP
иVAR
переменные и изменили вопрос так, чтобы другие ответы потеряли смысл.VAR
переменную. Но, тем не менее, вы можете изменить эту вещь обратно. Я хотел сделать вопрос более общим, менее конкретным. Это никогда не должно было саботировать другие ответы.Ответы:
Это расширение переменной и работает следующим образом (обратите внимание, что это только
bash
иksh
специфично и не будет работать в оболочке POSIX):${var:pos}
означает, что переменнаяvar
раскрывается, начиная со смещенияpos
.${var:pos:len}
означает, что переменнаяvar
раскрывается, начиная со смещенияpos
с длинойlen
.источник
zsh
тожеzsh
=) Я сделал скрипт диетыzsh
и потерял 10 кг за 1 неделю.zsh
наверняка заставляет вас тупить при наборе путей, когда вы его не используете :)в bash он обрезает первые 3 символа (строковой) переменной:
взгляните на «извлечение подстроки» здесь: http://www.tldp.org/LDP/abs/html/string-manipulation.html .
источник
Этот оператор обрезает первые 3 символа переменной
TEMP
и назначает остаток переменнойVAR
.источник