当前位置:  开发笔记 > 编程语言 > 正文

如何通过Linux的shell学习你的方式

如何解决《如何通过Linux的shell学习你的方式》经验,为你挑选了2个好方法。

我想在处理Linux/Unix的shell时不要浪费宝贵的时间.

如果我能够很好地理解它,那就太好了.除此以外:

我可能最终会因为设置crontab而失去一天.

我会一直想知道为什么这个脚本中的shebang 不起作用.

我会一直想知道真正的区别是什么:

.run.sh

./run.sh

../run.sh

sh run.sh

sh ./run.sh

你知道,正是这些事情使我的Linux/Unix生活陷入瘫痪.

作为程序员,我希望在这方面做得更好.我想最好继续使用广泛使用的bash shell,但我可能错了.无论我使用什么工具,我都需要了解它的内涵.

什么是最终解决方案?



1> Jon Ericson..:

纯娱乐:

    . run.sh---"源代码"run.sh中的代码.通常,这用于将环境变量放入当前的shell进程中.你可能不希望这个被调用的脚本run.sh.

    ./run.sh---执行run.sh当前目录中的脚本.通常,当前目录不在默认路径中(请参阅参考资料$PATH),因此您需要显式调出相对位置.该.字符的使用方式与第1项中的不同.

    . ./run.sh--- run.sh从当前目录中获取脚本.这结合了.项目#1和#2的使用.

    sh run.sh---使用shshell解释器run.sh.Bourne shell的通常是运行shell脚本的默认,所以这可能是一样的第2项,除了它找到的第一个run.sh$PATH,而不是一个在当前目录.

    sh ./run.sh ---除了wordier之外,这通常与#2相同.

命令行界面,例如各种shell解释器,往往非常深奥,因为它们需要在很少的字符中包含很多含义.否则打字需要太长时间.

在学习方面,我建议在你感到舒服之前使用bashksh不要让任何人跟你说话.请不要学习,csh或者稍后在开始使用Bourne-type shell时需要忘记过多.

此外,crontab条目比shell的其他用途有点棘手.我的猜测是你浪费了时间,因为你的环境设置与命令行不同.如果可能的话,我建议在其他地方开始.



2> mipadi..:

手册页可能是"终极"解决方案.我总是对他们所包含的宝石感到惊讶.

您甚至可以man bash用来回答您在此问题中提出的一些问题.


是的,我过去常常使用谷歌那些东西......直到我意识到Bash的手册页是一个有用信息的宝库,所有这些都在一个方便的地方.
几乎所有东西的手册页都是权威文档......我花了一段时间才意识到当我第一次切换到linux时.
对于GNU工具,信息页面通常比联机帮助页面好得多,因为GNU通常不喜欢联机帮助页面(我相信因为它们的格式是专有的).只需要"info coreutils"."info bash"还提供了比手册页更加结构化的输出.非常推荐!
@litb:我非常不喜欢信息页面.部分问题是我发现导航一个大页面而不是一堆小页面更容易.但我想,对每一个人来说都是如此.
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有