Чем отличаются `и 'в программировании, такие как MySQL и оболочки - PullRequest
2 голосов
/ 25 октября 2009

phpMySQL использует backticks `для окружения имен столбцов, и я только что видел, как люди используют backticks в сценариях оболочки.

Это то же самое, если они используют '?

Ответы [ 2 ]

8 голосов
/ 25 октября 2009

В MySQL обратные метки могут использоваться для включения имен таблиц и столбцов, которые являются зарезервированными словами, например:

SELECT  *
FROM    `table`

Одинарные кавычки просто обозначают строковую константу:

SELECT  *
FROM    `table`
WHERE   `name` = 'test'

В оболочках обратные метки позволяют использовать выходные данные одной команды в качестве аргумента для другой команды:

echo `date`

выполнит date и использует его вывод в качестве аргумента для echo.

Одинарные кавычки позволяют использовать пробелы, знаки доллара и обратную косую черту внутри аргументов:

echo '$HOSTNAME'

выведет строку $HOSTNAME как есть,

echo $HOSTNAME
echo "$HOSTNAME"

оба будут выводить значение переменной среды HOSTNAME.

0 голосов
/ 25 октября 2009

В оболочке пара обратных галочек будет заменена выводом (stdout) команды, которую они включают.

X=`expr 3 \* 2 + 4` # expr evaluate arithmatic expressions. man expr for details.
echo “$X”
...