【求助】重定向【已解】
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
【求助】重定向【已解】
最近公司的工作环境切换为redhat,在使用重定向的过程中经常报错
echo “” > aa.log
返回
aa.log : File exits.
只有手动把 aa.log 删除后才能进行重定向。而本人习惯的方式是直接覆盖,而不是询问
故,求助各位大侠,看有没有解决方案,谢谢!
echo “” > aa.log
返回
aa.log : File exits.
只有手动把 aa.log 删除后才能进行重定向。而本人习惯的方式是直接覆盖,而不是询问
故,求助各位大侠,看有没有解决方案,谢谢!
上次由 halfwolf 在 2014-09-12 15:13,总共编辑 1 次。
- cikekid
- 帖子: 628
- 注册时间: 2008-11-28 13:57
- 系统: OSX/CentOS
Re: 【求助】重定向
echo $PATH
看一下是不是用的默认的echo
看一下是不是用的默认的echo
代码: 全选
sudo mount /dev/sda* /mnt/
sudo mount -t proc none /mnt/proc
sudo mount -o bind /dev /mnt/dev
sudo chroot /mnt/ /bin/bash
sudo apt-get install grub
sudo grub-install --no-floppy /dev/sda
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 【求助】重定向
先看看權限
sudo ls -al ./aa.log
sudo ls -al ./aa.log
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 【求助】重定向
跟echo无关,跟重定向有关,ls >aa.log, cat otherfile.txt>aa.log均不行。cikekid 写了:echo $PATH
看一下是不是用的默认的echo
echo为shell built-in command.
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 【求助】重定向
跟echo无关,跟重定向有关,ls >aa.log, cat otherfile.txt>aa.log均不行。cikekid 写了:echo $PATH
看一下是不是用的默认的echo
echo为shell built-in command.
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 【求助】重定向
权限正常,poloshiao 写了:先看看權限
sudo ls -al ./aa.log
-rw--r--r--
用 echo |tee aa.log 操作正常,但 echo > aa.log 报“File exits”错误
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 【求助】重定向
試試echo “” > aa.log
echo 'Line1' > ./aa.log
cat ./aa.log
echo 'Line2' > ./aa.log
cat ./aa.log
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 【求助】重定向
试过了,不行。这跟我原来的做法没区别嘛!是重定向的问题,不是echo问题。即,不能重定向信息到现存文件。可能修改某些配置项才行poloshiao 写了:試試echo “” > aa.log
echo 'Line1' > ./aa.log
cat ./aa.log
echo 'Line2' > ./aa.log
cat ./aa.log
- astolia
- 论坛版主
- 帖子: 6703
- 注册时间: 2008-09-18 13:11
Re: 【求助】重定向
首先看看你用的是什么shell。
bash有个noclobber选项可以防止重定向时覆盖已有文件。详情自己去看man bash
用set +o noclobber可以关闭这个功能,检查一下相关的配置文件,看看是不是哪里设置了
或者用>|也可以无视noclobber选项
bash有个noclobber选项可以防止重定向时覆盖已有文件。详情自己去看man bash
用set +o noclobber可以关闭这个功能,检查一下相关的配置文件,看看是不是哪里设置了
或者用>|也可以无视noclobber选项
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 【求助】重定向
我在 Ubuntu 測試是可以的
echo "Line1" > ./aa.log # 不行
echo 'Line1' > ./aa.log # 可以
也許 你的 shell 不同
echo $SHELL
/bin/bash
我的是 bash shell
echo "Line1" > ./aa.log # 不行
echo 'Line1' > ./aa.log # 可以
也許 你的 shell 不同
echo $SHELL
/bin/bash
我的是 bash shell
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 【求助】重定向
我的工作环境切换为redhat,重定向存在问题才过来求助的,谢谢你!poloshiao 写了:我在 Ubuntu 測試是可以的
echo "Line1" > ./aa.log # 不行
echo 'Line1' > ./aa.log # 可以
也許 你的 shell 不同
echo $SHELL
/bin/bash
我的是 bash shell
-
- 论坛版主
- 帖子: 18279
- 注册时间: 2009-08-04 16:33
Re: 【求助】重定向
echo $SHELL
先看看 你的 shell 是哪一種
先看看 你的 shell 是哪一種
- cikekid
- 帖子: 628
- 注册时间: 2008-11-28 13:57
- 系统: OSX/CentOS
Re: 【求助】重定向
大概和noclobber有关,试试 >| 强制重定向管用不
代码: 全选
sudo mount /dev/sda* /mnt/
sudo mount -t proc none /mnt/proc
sudo mount -o bind /dev /mnt/dev
sudo chroot /mnt/ /bin/bash
sudo apt-get install grub
sudo grub-install --no-floppy /dev/sda
-
- 帖子: 40
- 注册时间: 2012-01-28 21:27
Re: 【求助】重定向
谢谢你!是你说的问题!cikekid 写了:大概和noclobber有关,试试 >| 强制重定向管用不
1) 用强制重定向 >! 可以解决问题。
2)在配置文件.cshrc中添加
unset noclobber
可以取消重定向限制。
- susbarbatus
- 帖子: 2966
- 注册时间: 2010-04-10 16:14
- 系统: Arch Linux