shell里的``反引号 ''单引号 ""双引号
今天碰到这个,想知道这个private key变量存的是个什么东西,是这输出了一下BTC_CLI_EXTRA_ARGS, 结果是空 看到这里读不懂了
BTC_CLI_EXTRA_ARGS='-rpcwait' $scriptdir/btc-scripts/gen-101-blocks.sh
echo ">>>>>>>>>>>>>> BTC_CLI_EXTRA_ARGS value is $BTC_CLI_EXTRA_ARGS>>>>>>>>>>>>"
# creates a private key for us with some coins
privkey=`BTC_CLI_EXTRA_ARGS='-rpcwait' $scriptdir/btc-scripts/get-catena-funds.sh`
由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。
由双引号括起来的字符,除$(美元符号)、\(反斜杠)、’(单引号)、和”(双引号)这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。对于“$”来说,就是用其后指定的变量的值来代替这个变量和$;对于“\”而言,是转义字符,它告诉shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。可以想见,在双引号中需要在前面加上“\”的只有四个字符$,\,’和”本身。而对”号,若其前面没有加“\”,则Shell会将它同前一个”号匹配。
反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。如例程中的`date -d '-1 day' +%Y%m%d`就是把这条命令的结果赋给变量OPDATE。
OPDATE=`date -d '-1 day' +%Y%m%d`
反引号还可以嵌套使用。但需注意,嵌套使用时内层的反引号必须用反斜杠(\)将其转义。