Stdout& stderr没有重定向到自动启动

时间:2014-05-16 13:32:53

标签: bash debian stdout stderr autostart

我正在使用Raspbian(在Raspberry Pi上使用Debian和LXDE)。

我创建了以下两个文件。第一个是.desktop文件,因此lxde可以自动启动我的脚本,第二个是相关脚本。

问题在于,当我手动启动脚本时,它工作正常,创建目录并重定向流。但是,当我重新启动pi时,脚本自动启动时根本没有输出。当我的最终应用确实开始时,脚本肯定会正常工作。只有溪流不存在。

我不知道要搜索什么,或者是什么导致这个......

的.desktop

[Desktop Entry] 

Type=Application

Exec=system_start.sh

system_start.sh

#!/bin/bash

cd ~/application.linux64/

mkdir system_log
DIR=system_log/$(date +%Y%m%d)
mkdir $DIR/
./start.sh 1> $DIR/$(date +%T)operation_log.txt 2> $DIR/$(date +%T)errors_log.txt

2 个答案:

答案 0 :(得分:1)

Linux Mint遇到了同样的问题。使用自动启动.desktop文件在启动时启动时,重定向到文件的工作命令不起作用。

将命令括在bash -c中“”帮助:

bash -c "/home/huehuehue/myguiapp >> /home/huehuehue/myguiapp.log 2>&1"

答案 1 :(得分:0)

您应该使用整个路径而不是相对路径来使脚本在任何情况下都能正常工作并避免使用~

#!/bin/bash

DIR=/home/username/application.linux64/

mkdir $DIR/system_log
SUBDIR=system_log/$(date +%Y%m%d)
mkdir $SUBDIR
./start.sh 1> $SUBDIR/$(date +%T)operation_log.txt 2> $SUBDIR/$(date +%T)errors_log.txt