相关疑难解决方法(0)

在Bash中重定向stderr和stdout

我想将进程的stdout和stderr重定向到单个文件.我怎么用Bash做到这一点?

bash shell redirect pipe

635
推荐指数
10
解决办法
66万
查看次数

cmd 2>&1> log vs cmd> log 2>&1

有什么区别:

cmd > log 2>&1
Run Code Online (Sandbox Code Playgroud)

cmd 2>&1 > log
Run Code Online (Sandbox Code Playgroud)

cmd是命令吗?

我应该选择哪个?为什么?

unix linux bash redirect command-line

30
推荐指数
2
解决办法
5万
查看次数

git commit在cron作业中不起作用,虽然git pull确实有用

在我的crontab中,我有以下几行:

48 14 * * * bash /home/erelsgl/git/erel-sites/add-commit-push.bash "from home" 2&>1 >> /home/erelsgl/logs/backup_from_home.log
Run Code Online (Sandbox Code Playgroud)

该脚本按其名称暗示 - 添加,提交和推送:

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
echo --------------------
date
echo == add ==
/usr/bin/git add -A
echo == commit ==
/usr/bin/git commit -m "$1"
echo == pull ==
/usr/bin/git pull
echo == push ==
/usr/bin/git push
Run Code Online (Sandbox Code Playgroud)

如日志文件中所示,"提交"不执行任何操作,而"拉"工作正常:

Fri Oct 23 14:48:01 IDT 2015
== add ==
== commit ==
== pull ==
Already up-to-date.
== push ==
Run Code Online (Sandbox Code Playgroud)

一分钟后,我从命令行运行完全相同的命令,并得到以下日志,这意味着提交确实发生了:

Fri …
Run Code Online (Sandbox Code Playgroud)

git crontab

8
推荐指数
1
解决办法
2012
查看次数

标签 统计

bash ×2

redirect ×2

command-line ×1

crontab ×1

git ×1

linux ×1

pipe ×1

shell ×1

unix ×1