1,关于脚本的运行方式,脚本是不是只能通过输入 ./脚本文件名 这种方式运行呢?(当然前提是该脚本拥有可执行权限) 如果把脚本所在目录加入到环境变量$PATH中,是否可以直接用输入 脚本文件名 来执行该脚本呢?
2,sed 和 awk脚本 和平时说的shell脚本是一回事吗 是不是只能用 sed -f 脚本文件名 和 awk -f 脚本文件名 来执行该脚本?? 可不可以也通过 ./脚本文件名来执行呢??
3,是不是只有文档中第一行有#!/bin/sh 或是 #!/bin/bash 的文件才叫做脚本呢? 如果是这样的话 看到书中讲sed和awk脚本文件头部没有这样的指令 是不是就不算真正意义的脚本啊?? 可以在脚本头部写上#!/bin/awk 或是 #!/bin/sed 吗?
初学者问题多了点 还望各位大侠不吝赐教!!!!!(6)m:b
mstl 于 2011-05-15 08:48:38发表:
路过
yanyongkg 于 2011-05-14 22:30:02发表:
. filename等价于source filename
./filename等价于/root/scripts/filename (filename在/root/scripts目录下)
当前在/root/scripts目录下直接输入filename执行,执行时会去从$PATH中指定的路径中找filename,而/root/scripts没有写进$PATH的情况下就会出现command not found之类的提示,所以就用./filename指明filename在当前目录下 . 是当前目录的意思, ./filename当然就是当前目录下的filename
变换之风1986 于 2011-05-14 22:13:02发表:
那. filename 和 ./filename 有什么区别呢
相思爱文 于 2011-05-14 21:16:16发表:
格式书写有误,理解错误。你们说的,是不相关的两种情况。
.filename 以点开头的文件名,是一个隐藏文件
. filename 点后面的个空格,是执行source filename命令
./filename是执行./filename命令
相思爱文 于 2011-05-14 21:07:45发表:
. 文件名
注意,点后面有一个空格,这里的点,功能相当于source命令
相思爱文 于 2011-05-14 21:05:46发表:
1、可以
2、shell是一大类,统称为脚本
3、#!/bin/sh (或是 #!/bin/bash)是告诉shell以/bin/sh(或/bin/bash)命令运行,当然可以指定别的命令
如果写成#!/bin/more开头,当运行脚本时,就是用more命令运行脚本了,可以试一试,效果和
more 脚本文件名
一样。
变换之风1986 于 2011-05-14 20:48:19发表:
“.文件名 和 ./文件名是两个文件,前一个是隐藏文件,后一个是正常文件”
多谢指点~~~上面这句话有点不太理解,那为什么 经常看到利用上面两种方式来执行某个脚本呢? shell内置命令中不也是有 . 命令 是在当前进程下执行程序吗 和source相同 书上说的
wangyu 于 2011-05-14 18:42:54发表:
1、如果把脚本所在目录加入到环境变量$PATH中,可以直接用输入 脚本文件名 来执行该脚本
2、sed 和 awk可以编到shell里配合使用,是shell的一部分
3、#!/bin/sh加到脚本里,让脚本有了编程的功能,如果不加,可以执行,但不够智能,sed 和 awk有时直接就搞定,不需要编程,所以不加也行
.文件名 和 ./文件名是两个文件,前一个是隐藏文件,后一个是正常文件
变换之风1986 于 2011-05-14 18:23:05发表:
还有 用 .文件名 和 ./文件名 这两种方式执行文本程序有什么区别呢?