MySQLやシェルなどのプログラミングにおける `と 'の違いは何ですか
質問
phpMySQLは、列名を囲むためにバッククォート `を使用します。シェルスクリプトでバッククォートを使用する人がいるのを見ています。
'を使用しても同じですか?
解決
MySQL
では、次のようにバッククォートを使用して予約語であるテーブル名と列名を囲むことができます。
SELECT *
FROM `table`
一重引用符は単に文字列定数を示します。
SELECT *
FROM `table`
WHERE `name` = 'test'
シェルでは、バックティックを使用して、あるコマンドの出力を別のコマンドの引数として使用できます。
echo `date`
date
を実行し、その出力を echo
の引数として使用します。
単一引用符を使用すると、引数内で空白、ドル記号、およびバックスラッシュを使用できます。
echo '$HOSTNAME'
文字列 $ HOSTNAME
をそのまま出力します
echo $HOSTNAME
echo "$HOSTNAME"
両方とも、環境変数 HOSTNAME
の値を出力します。
他のヒント
シェルでは、一対のバックティックは、それらが囲むコマンドの(stdout)出力に置き換えられます。
X=`expr 3 \* 2 + 4` # expr evaluate arithmatic expressions. man expr for details.
echo “$X”
所属していません StackOverflow