.sh
通常,我会在使用中创建一个文件touch file.sh
,然后使用编辑器修改脚本sudo emacs file.sh
。有没有办法同时做到这一点?我的意思是创建文件后.sh
,然后立即打开编辑器。
答案1
sudo emacs file.sh
(一开始)不会在文件系统上创建文件。
emacs
打开缓冲区并在其上工作,因此除非您以通常的方式保存(如C-s
is emacs
),否则文件不会保存在文件系统中。使用 打开缓冲区后sudo emacs file.sh
(假设文件尚不存在),如果您使用 关闭缓冲区,C-x-c
则不会保存/创建文件。
请注意,要创建一个空文件,一种方法是利用带有虚拟输入的 shell 重定向(例如true
(:
)),bash
甚至支持空重定向:
: >file.sh
>file.sh ## In bash
请注意,file.sh
如果文件已存在,它将被截断,为防止这种情况发生,您可以设置选项noclobber
,如果文件已存在,它将阻止截断:
set -o noclobber
答案2
命令将在缓冲区中sudo emacs file.sh
打开。 仅当文件不存在时才会创建,并且内容会被保存。file.sh
file.sh
C-s
您还可以使用任何其他文本编辑器nano
,如vim
或。gedit
sudo nano file.sh
答案3
sudo touch file.sh && sudo emacs file.sh
将&&
命令串在一起,执行第一个命令,然后执行第二个命令假设第一个命令成功。