如何使用shell脚本关闭文件

时间:2013-05-03 10:21:55

标签: c shell

我需要使用shell脚本打开和关闭文件。

myshell.sh

vi adc.c

当我执行myshell.sh时,它会打开一个文件。

我需要使用shell脚本关闭该文件。

我应该在myshell.sh中包含什么命令

3 个答案:

答案 0 :(得分:4)

不使用vi,尝试使用touch?

touch /opt/adc.c

触摸是创建新文件和空文件的最简单方法。它还用于更新时间戳。然后更新文件内容。

echo "Your File contents" > /opt/adc.c

在这种情况下,您不需要“ 关闭 ”您的文件。

答案 1 :(得分:3)

  

我想使用shell脚本创建一个文件。当我使用'vi'创建一个文件时,我需要手动执行esc + wq

vi是一个交互式文件编辑器。它允许您打开/创建文件,通过用户交互编辑文件,最后保存文件并退出(ESC-wq)。您可以在shell脚本中执行此操作(某些应用程序执行此操作以允许用户编辑文本),但如果您只是想以批处理模式创建包含某些内容的文件,而无需用户交互,请使用类似

的内容
#!/bin/bash

echo "My contents" > /path/to/local/adc.c
cat /path/to/local/part-r-00000 >> /path/to/local/adc.c

第一行创建一个空文件adc.c,第二行part-r-00000的内容附加到文件中。

首先无需“创建”文件。这是由shell自动完成的。您可能想要浏览Bash: All about redirection(其他shell也有类似的页面)。

答案 2 :(得分:2)

在这种背景下,“关闭”是什么意思并不是特别清楚。

通常,打开和关闭是低级文件系统操作;你打开一个文件,通过阅读或写作完成你想要的I / O,然后在你完成后关闭它。

当你按照你所展示的方式调用它时,vi不太可能真正地,物理地打开命名文件。它更可能打开文件,读取其内容,然后关闭它。当您告诉vi将新内容保存到磁盘时,该文件将重新打开以进行写入,但在保存之间不会保持打开状态。至少我不这么认为,但我不是vi用户。

当您从外部“关闭”文件时,您希望vi做什么?