【问题标题】:echoing mutiple variable + asterisk in bash在bash中回显多个变量+星号
【发布时间】:2015-11-10 21:32:46
【问题描述】:

我正在尝试回显/重定向到文件两个或三个变量和星号; 但是,只要我尝试包含多个变量,那么我的变量就会消失。

从文件加载变量。 变量:

CMD=/home/user1/command.sh
HOUR=17
MN=00

这是我的脚本的 sn-p:

#!/bin/bash
. var
    if [ "${MN}" == "00" ];
    then
    MN=0
    fi

echo "${MN} ${HOUR} * * * user1 ${CMD}" >> ./test.log

输出如下所示,其中不包含所有变量:

* * * root /home/user1/command.sh

似乎由于某种原因从文件中加载这些变量;这些不能重复使用。 一旦我将它们手动设置为脚本本身的一部分,输出如下所示并且正确:

0 17 * * * root /home/user1/command.sh

任何帮助将不胜感激,

非常感谢, 阿尔。

【问题讨论】:

  • 检查var文件是否有DOS行尾?
  • 参见bash info wiki 页面上的第 1 项。
  • 在脚本中添加文件 var 的完整路径。
  • 好的,我明白了。确实 - 每行都有 Dos 行结尾..

标签: bash variables echo asterisk


【解决方案1】:

Crontab 执行不在 /home/user1/ 文件夹中的脚本。

所以你需要使用 /home/user1/var 来包含变量或者做

cd /home/user1/ 

在包含变量的文件之前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 2021-03-03
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    相关资源
    最近更新 更多