linux怎么执行sh文件

等等,我昨天在办公室的Mac上搞这个的时候,差点把sudo给用上了,真是吓我一跳。
记得那天是下午四点多,阳光从窗户斜照进来,灰尘在光束里跳舞,我盯着屏幕上的Terminal,手指悬在键盘上犹豫不决。
那个.sh文件是昨天晚上从服务器下载的,放在Desktop下面,文件名叫update_config.sh,看起来挺重要的,里面有几个路径和API密钥,我得确保没搞错。

linux运行文件命令有哪些

嘿,说到Linux系统中运行文件的方式,这事儿我还真有挺多经验。
以前在论坛上看到很多人问这个,我就随便说说。

先说最常用的source和点号(.)。
这俩玩意儿其实是一个东西,语法上稍微有点区别,但作用是一样的。
你想想,source test.txt和.test.txt,效果是一样的,都是直接在当前Shell环境中执行脚本,不会创建新的子进程。
这就意味着,脚本里定义的变量或者环境变更,会直接影响到当前的Shell环境。
比如,你有一个变量叫test,给它赋个值1 00,然后source test.txt,这个值就直接用上了,而且你查看进程ID,发现还是和当前Shell一样。

当时我在一个论坛看到一个例子,有人问为什么source了一个脚本,变量没变化。
我当时也没想明白,后来才反应过来,得先source脚本,然后才能用脚本里定义的变量。

再来说说bash。
这玩意儿有点不一样,它会启动一个新的子Shell进程来执行脚本。
所以,脚本中的变量或环境变更不会影响当前Shell。
就像bashtest.txt,执行后,脚本里的变量test你就不在当前Shell里找到了,进程ID也更新了。

最后,得提一下./文件名这种方式。
这玩意儿有点复杂,得满足两个条件:一是脚本文件得有可执行权限,二是得有正确的Shebang。
这个Shebang就像是脚本的身份证,告诉系统这个脚本用什么解释器来运行。
执行的时候,也是启动子进程,变量和环境变更也不会影响当前Shell。

总结一下,source和点号不启动子进程,适合需要修改当前Shell环境的场景。
bash和./启动子进程,适合隔离脚本执行环境或需明确解释器的场景。
这个嘛,得看你的具体需求,选择合适的方式。
记得,Linux的世界很大,每种方式都有它的用武之地。

linux下如何运行可执行文件

当时我打开那个kalilinux终端,心里有点小激动,想着终于要开始写代码了。
我输入“touch dutest.c”,嗯,文件出现了,有点小成就感。
然后,我打开vim,敲打键盘,“vim dutest.c”或者“gvim dutest.c”,嗯,编辑器闪亮登场,我就在那里写代码,写代码,写代码,写到我都忘了时间。
写完代码,我回到终端,输入“gcc dutest.c”,嘿,系统响应了,我心里想,Linux真给力。
如果是Windows,我得去找IDE,可这里,我只需要gcc、vim和gdb。
编译完了,出现了一个叫a.out的文件,Linux系统默认的,我心里暗笑,挺酷的。
然后我输入“./a.out”,嘿,程序运行了,我有点小兴奋。
如果想改名,就输入“gcc dutest.c -o test.out”,然后出现了一个test.out,再输入“./test.out”,程序又运行了,感觉就像完成了个小目标,嗯,Linux,我服了。