【问题标题】:Shell echo statement outputShell echo 语句输出
【发布时间】:2021-07-31 01:05:15
【问题描述】:

我是 shell 脚本的新手。我有以下 shell 脚本 -

psql database connection -t -c "SELECT bucket FROM all_buckets GROUP BY bucket" | while read bucket_var ; 
do
if [ ! -z "$bucket_var" ]
then

echo "Bucket being processed is - $bucket_var"

fi

done

这是我得到的输出 -

+ '[' '!' -z Endography ']'
+ echo 'Bucket being processed is - Endography'
Bucket being processed is - Endography
+ read bucket_name_var

我怎样才能得到这个输出 -

Bucket being processed is - Endography (current date and time in CST) 

【问题讨论】:

  • 你发布的是完整的脚本吗,如果不是,请发布完整的脚本。
  • 我假设您希望 bash 脚本替换字符串 current date and time in CST ...请使用您要查找的日期/时间的格式更新问题

标签: bash shell


【解决方案1】:

您的脚本中似乎有set -x。这使得它在执行时回显所有命令。删除该行(或执行set +x 撤消设置)。

来自setman页面:

-x 展开每个简单命令后,for command、case 命令、select 命令或 for command 的算术运算,显示 PS4 的扩展值,后跟命令及其扩展参数或相关单词列表。

要添加当前日期和时间,请使用date

echo "Bucket being processed is - $bucket_var ($(date))"

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多