红联Linux门户
Linux帮助

新手求问关于脚本的问题

发布时间:2011-05-14 18:07:06来源:红联作者:变换之风1986
1,关于脚本的运行方式,脚本是不是只能通过输入 ./脚本文件名 这种方式运行呢?(当然前提是该脚本拥有可执行权限) 如果把脚本所在目录加入到环境变量$PATH中,是否可以直接用输入 脚本文件名 来执行该脚本呢?

2,sed 和 awk脚本 和平时说的shell脚本是一回事吗 是不是只能用 sed -f 脚本文件名 和 awk -f 脚本文件名 来执行该脚本?? 可不可以也通过 ./脚本文件名来执行呢??

3,是不是只有文档中第一行有#!/bin/sh 或是 #!/bin/bash 的文件才叫做脚本呢? 如果是这样的话 看到书中讲sed和awk脚本文件头部没有这样的指令 是不是就不算真正意义的脚本啊?? 可以在脚本头部写上#!/bin/awk 或是 #!/bin/sed 吗?

初学者问题多了点 还望各位大侠不吝赐教!!!!!(6)m:b
文章评论

共有 9 条评论

  1. mstl 于 2011-05-15 08:48:38发表:

    路过

  2. yanyongkg 于 2011-05-14 22:30:02发表:

    引用:
    那. filename 和 ./filename 有什么区别呢
    变换之风1986 发表于 2011-5-14 22:13



    . 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

  3. 变换之风1986 于 2011-05-14 22:13:02发表:

    那. filename 和 ./filename 有什么区别呢

  4. 相思爱文 于 2011-05-14 21:16:16发表:

    引用:
    “.文件名 和 ./文件名是两个文件,前一个是隐藏文件,后一个是正常文件”

    多谢指点~~~上面这句话有点不太理解,那为什么 经常看到利用上面两种方式来执行某个脚本呢? shell内置命令中不也是有 . 命令 是在当前 ...
    变换之风1986 发表于 2011-5-14 20:48

    格式书写有误,理解错误。你们说的,是不相关的两种情况。
    .filename 以点开头的文件名,是一个隐藏文件
    . filename 点后面的个空格,是执行source filename命令
    ./filename是执行./filename命令

  5. 相思爱文 于 2011-05-14 21:07:45发表:

    . 文件名
    注意,点后面有一个空格,这里的点,功能相当于source命令

  6. 相思爱文 于 2011-05-14 21:05:46发表:

    1、可以
    2、shell是一大类,统称为脚本
    3、#!/bin/sh (或是 #!/bin/bash)是告诉shell以/bin/sh(或/bin/bash)命令运行,当然可以指定别的命令
    如果写成#!/bin/more开头,当运行脚本时,就是用more命令运行脚本了,可以试一试,效果和
    more 脚本文件名
    一样。

  7. 变换之风1986 于 2011-05-14 20:48:19发表:

    “.文件名 和 ./文件名是两个文件,前一个是隐藏文件,后一个是正常文件”

    多谢指点~~~上面这句话有点不太理解,那为什么 经常看到利用上面两种方式来执行某个脚本呢? shell内置命令中不也是有 . 命令 是在当前进程下执行程序吗 和source相同 书上说的

  8. wangyu 于 2011-05-14 18:42:54发表:

    1、如果把脚本所在目录加入到环境变量$PATH中,可以直接用输入 脚本文件名 来执行该脚本
    2、sed 和 awk可以编到shell里配合使用,是shell的一部分
    3、#!/bin/sh加到脚本里,让脚本有了编程的功能,如果不加,可以执行,但不够智能,sed 和 awk有时直接就搞定,不需要编程,所以不加也行

    .文件名 和 ./文件名是两个文件,前一个是隐藏文件,后一个是正常文件

  9. 变换之风1986 于 2011-05-14 18:23:05发表:

    还有 用 .文件名 和 ./文件名 这两种方式执行文本程序有什么区别呢?