Каково значение $ и {} в `find ${x} *`
У меня есть следующее:
x=/
find ${x} *
Теперь это похоже на find / *
Какое значение имеет $
а также {}
в find ${x} *
1 ответ
Решение
$...
обозначает переменную, и когда следует фигурные скобки ${...}
, вы предоставляете границу для переменной, чтобы вы могли запустить ее рядом со строковым литералом, например:
$ FLAVOUR="cheese"
$ echo "I like ${FLAVOUR}y crisps"
I like cheesey crisps
Без скобок вы бы увидели:
$ echo "I like $FLAVOURy crisps"
I like crisps
Что, хотя и правда, не то, что вы действительно хотели.
Почему это используется в вашем примере, вне меня. Это не обязательно.
Фигурные скобки также используются для поиска в массиве bash, когда вы хотите указать индекс, но это не имеет ничего общего с вашим примером:
$ arr=(*)
$ echo ${arr[3]} # print third item; 1-indexed? blimey.
jumbo-small.jpg
$echo ${arr[@]} # print whole array
glyphicons-halflings.png glyphicons-halflings-white.png jumbo.jpg jumbo-small.jpg