linux 中“.”和“./”命令分别是什么意思?

./ 执行当前目录中的文件。
cd 无参数 转到 HOME 目录。
绝对路径以/开头。
相对路径是相对于当前目录的。
cp 复制文件。
../ 父目录。
./当前目录。

linux 命令中的sh是什么意思??

嘿,这就是你所说的。
两年前我还在北京的时候,帮朋友调试过这个问题。
你说得对,./a.sh 看看是什么 shell !在第一行中它引用并使用它来执行它。
例如,如果你编写!/bin/bash,它将使用bash来执行后续代码。
如果你写!/bin/sh,就会使用sh来执行。

所以你提到的sha.sh,如果不指定路径,默认会在当前目录下查找sha.sh。
这与 a.sh 不同。
对于a.sh,您必须使用./来查找当前目录,否则它将在您的PATH中找到。

比如,我在帮那位朋友调试的时候,他写的脚本第一行是!/bin/bash。
结果他直接运行./a.sh,遇到了找不到某个命令的错误。
我检查了一下,发现它把脚本放在一个目录中,然后从另一个目录运行它。
系统找不到 bin/bash。
我必须告诉它将脚本移动到 PATH 或将其写为 ./a.sh 以指定当前目录。

所以,./a.sh 和 sha.sh 的行为确实不同。
看看它!第一行,其他行默认在当前目录中搜索。
我已经多次遇到过你提到的场景,每次我都必须向用户解释其中的差异。

Linux中的sh命令的详细解释

嘿,我们来谈谈Linux sh命令。
我对这个还是有点熟悉的。
我记得几年前经常使用它在公司的服务器上运行一些小脚本。
我基本上做了你提到的所有事情。

先说语法吧,bash[选项][文件]。
是的,我当时做了一些事情,想要快速运行一个命令,所以我用了-c。
例如,如果我想运行备份脚本,我直接在命令行中输入 bash -c 'backup.sh',这样我就可以直接运行脚本,而无需先 cd 。
这个技巧非常实用。

-i 选项允许交互。
我尝试过一次,创建一个登录提示,要求用户输入用户名和密码,就像在命令行上交互一样。
不过这个东西如果使用过度的话很容易出问题。
脚本的逻辑一定要写好,不然卡住了就烦人了。

-n选项,语法检查,我也用这个。
当我编写脚本时,有时我会逐行键入。
我害怕犯错误,所以我使用 -n 来检查语法错误。
例如,我编写了一个小脚本,保存它并输入 bash -n myscript.sh。
没有报告任何错误,我感到放心。
选项-x,跟踪调试。
这是给我印象最深的。
有一次脚本无法运行,所以我在它前面添加了-x。
结果一行一行打印出来,才发现哪一行是错误的。
该脚本行还指示当前状态,这特别方便。
您提到的示例 sh -x check_ssh_login.sh 具有此效果。

具体的例子看起来相当复杂。
我使用了 awk 和 for 循环。
我记得有一年我创建了一个日志分析脚本,该脚本应该计算安全日志中失败连接的 IP 地址。
我用的是 awk 和 for。
但这个剧本后来又改了好几次,现在已经和原来不一样了。

我每天对.sh文件执行所有操作,包括创建、编辑、保存、添加权限、执行和删除。
使用 touch test.sh 创建文件,vi test.sh 编辑,:wq 保存退出,chmod +x test.sh 添加权限,运行方式有多种,./test.sh 或 sh test.sh 和 rm test.sh 删除。

但是,如果你问我有关管理 .sh 文件权限的问题,我从未接触过这个领域。
我只负责运行脚本,权限由运维方决定。
我不敢乱说。

总之,sh命令和.sh文件操作我还是有实战经验的。
如果你有不明白的地方,我会再考虑一下,看看是否可以给你更具体的建议。