我的变量没有被shell-script中的值替换:
#!/bin/bash
read -p "Enter uuid " uuid
read -p "Enter date in format yyyymmdd: " date
echo $uuid
echo $date
a=`zgrep 'Queue for uuid $uuid' reader_$date.gz`
b=`zgrep 'Queue for uuid 23fef66b-fcf0-4a71-8ca3-a0761dffc473' reader_$date.gz`
echo $a
echo $b输出:
Enter uuid 23fef66b-fcf0-4a71-8ca3-a0761dffc473
Enter date in format yyyymmdd: 20180323
23fef66b-fcf0-4a71-8ca3-a0761dffc473
20180323
[2018-03-23 17:27:10,535: INFO/Worker-1 None None tasks/push_to_rabbit] Queue for uuid 23fef66b-fcf0-4a71-8ca3-a0761dffc473 is 35.154.190.22_2_k_event为什么变量a为空?
发布于 2018-03-27 01:00:35
在应该展开参数的位置需要双引号,而不是单引号。
引用错误:
u=23; d=3; a=$(zgrep 'Mar $u 23' /var/log/syslog.$d.gz); echo $a右引语:
u=23; d=3; a=$(zgrep "Mar $u 23" /var/log/syslog.$d.gz); echo $a
Mar 23 23:00:01 tux201t CRON[25808]: (stefan) CMD ....发布于 2018-03-27 01:05:33
将单引号替换为双引号,以允许bash变量替换。
从…
a=`zgrep 'Queue for uuid $uuid' reader_$date.gz`至
a=`zgrep "Queue for uuid $uuid" reader_$date.gz`https://stackoverflow.com/questions/49496200
复制相似问题