在Linux中点斜杠和点空格点斜杠执行脚本之间的区别

在Linux中点斜杠和点空格点斜杠执行脚本之间的区别,第1张

假定我们有一个脚本 test.sh,你是说下面这两种方式的区别:

$ ./test.sh

$ . ./test.sh

第一种方式是在子进程中运行脚本,第二种方式是在当前进程中执行脚本。换句话说,就是有没有调用fork()的区别。

斜杠,又称左斜杠,符号是(/);反斜杠,也称右斜杠,符号是(\)。

==============正斜杠(/)的作用:

1、作为路径的分隔符,采用正斜杠(/),比如"/home/hutaow"

================反斜杠(\)的作用:

1、在正则表达式中,采用表达  \(\);\{m,n\};\?;\+

2、一个命令可以用(\)分成多行

3、作为转义(\)使用

后续补充。。。。。

对于目录,Linux下是正斜杠,比如 /data/zhenwe/....windows下。windows下则是反斜杠c\windows

然而在c++或者其它语言里,大家都有一个熟悉的\n 这是什么呢,这是转义字符,\n为回车 \t换行。然后,你想一下如果在cpp里解析目录呢?这里边是不是会出现这么一种情况,解析字符串的时候 c\user是被解析成c盘user目录呢,还是c \u ser 三个字符串呢?这个不得而知了吧。

为了保证安全,我们可以用c\\user.这样\\双反斜杠就被解释为斜杠就安全了。

而linux下就不用太过于担心这个,因为目录使用的是正斜杠。/data/zhenwe/这样省去了不少麻烦。所以在网络编程等环境还是要注意正反斜杠问题了

或者用\\ 或者用/

vs下正反斜杠都可以解析的,他们考虑到了。

windows下用\导致初期不能支持空格目录。比如wei zhen.因为此时空格容易和参数混。比如 cd c\wei zhen这儿zhen可以理解为一个参数。

而linux就是 cd /data -x 有前面-来区分。

windows用\做目录也是因为初期dos下参数用了/不好再用它做目录了。也不完全为了区分unix。也有无奈啊。

往后多注意正反斜杠吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7615713.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存