Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs和。sh(或.bash)?_Bash_Emacs - Fatal编程技术网

Emacs和。sh(或.bash)?

Emacs和。sh(或.bash)?,bash,emacs,Bash,Emacs,我已经试着找到这个问题的Emacs特定答案,如果重复的话,我深表歉意。简单的问题。我知道,从解释器的角度来看,编写bash脚本时使用或不使用.sh或。bash后缀,但使用其中一个是否会改变Emacs在编辑文件时处理文件的方式?我一直在Emacs中使用一些bash脚本,我已经回答了一半的问题。但我是bash的新手,所以很多事情还不清楚 谢谢: 单词 另外,我在编程课上问过这个问题,但没有用。emacs可以通过各种方式确定主要模式和shell类型 你看这条蛇/usr/bin/env bash管线 根

我已经试着找到这个问题的Emacs特定答案,如果重复的话,我深表歉意。简单的问题。我知道,从解释器的角度来看,编写bash脚本时使用或不使用.sh或。bash后缀,但使用其中一个是否会改变Emacs在编辑文件时处理文件的方式?我一直在Emacs中使用一些bash脚本,我已经回答了一半的问题。但我是bash的新手,所以很多事情还不清楚

谢谢:

单词


另外,我在编程课上问过这个问题,但没有用。

emacs可以通过各种方式确定主要模式和shell类型

你看这条蛇/usr/bin/env bash管线 根据自动模式配置将文件扩展名与主模式匹配。通过配置sh别名alist,可以将bash设置为默认shell,例如cl pushnew'sh。bash-sh别名:在shell配置文件中测试'equal'。 使用局部变量,例如作为脚本的第一行:-*-sh;sh shell:bash;-*-告诉emacs主要模式是sh,并使用bashshell。 使用M-x sh mode交互设置主模式,并通过设置本地sh shell变量或使用sh脚本函数sh Set shell来设置外壳类型。
看见»Emacs检查文件内容是否以“!”开头[…]因此,Emacs尝试使用解释器名称来选择模式。例如,一个以“!”开头的文件/usr/bin/perl'以perl模式打开。«感谢您的帮助。我们在课堂上被告知应该使用.sh扩展名,但不是为什么。我知道脚本是否运行没有什么区别,因此这个线程:这违背了可执行脚本的常规建议。通常,您只为源脚本添加.sh扩展名。这样,如果你改变了一个可执行文件的实现,比如用C重写它,它仍然有相同的名字。他对while循环的解释是“ok,while循环就像for循环,但这一点不同。”。继续…,不必费心去检查我们是否理解在bash中实现循环的方式。我可以用C语言编程,所以我得到了逻辑。但是语法把我弄糊涂了,所以如果他解释得再清楚一点就好了:我建议看看脚本是如何在一个编写良好的开源库中构造的,比如像emacs这样的GNU项目,或者阅读他们的风格指南来了解这些细节。github上还保留了一些指导原则,尽管我认为他们推荐的一些东西有点过头了谢谢,我会跟进。非常感谢。