通常,我会.sh在 using 中创建一个文件touch file.sh,然后在 using 中使用编辑器修改脚本sudo emacs file.sh。有没有办法同时做到这一点?我的意思是在创建.sh 文件后,然后编辑器立即打开。
sudo emacs file.sh 不会在文件系统上创建文件(起初)。
emacs打开和工程上的缓冲,所以,除非你以通常的方式就像保存C-s时emacs,该文件将不会被保存在文件系统中。打开缓冲区后sudo emacs file.sh(假设文件不存在),如果你关闭缓冲区,C-x-c文件将不会被保存/创建。
请注意,对于创建空文件,一种方法是利用带有虚拟输入(例如true( :) )的shell 重定向,bash甚至支持空重定向:
: >file.sh
>file.sh ## In bash
Run Code Online (Sandbox Code Playgroud)
请注意,file.sh如果文件已经存在,这将被截断,以防止您可以设置noclobber选项,如果文件已经存在,将防止截断:
set -o noclobber
Run Code Online (Sandbox Code Playgroud)