打印

Ubuntu_shell_笔记

[复制链接]
202|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
丑帅丑帅的|  楼主 | 2018-9-29 13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于在Ubuntu中shell脚本用的是bash,所以我只研究它,毕竟精比广实惠,而且我个人认为其他shell本质上应该是相通的。



/*

**

*/

首先要记住每个脚本的开头都要使用

#! /bin/sh

其中#!用来告诉系统可以执行该脚本的程序,具体可以在终端输入man magic来获得更多的信息;接下来的/bin/sh是一个路径,该路径名指定了一个解释脚本命令的程序,我用的是bash,故为#! /bin/sh。但必须要记住#!后面必须有一个空格。

另要注意,我们在写shell脚本应和和其他程序一样在适当的位置添上合理的注释,其作用不用我说拉,由于在shell中我们用#作注释,由于我们在写脚本的时,首先是写#! /bin/sh,此时不要误认为该句是一句注释语句,只有这句以后凡是出现#,那么该#所在行后面的语句都是注释。



/*

**

*/

该脚本编辑结束保存后,如果要执行该脚本,你可以使用sh scriptname或bash scriptname来调用它。但我们一般不采用这种方法,原因是它禁用了脚本从stdin中读取数据的功能[stdin具体是个什么,我也不是很清楚,相信以后不久会明白的]。更方便的方法是通过chmod命令使该脚本具有可执行的权限,比如:

chmod 555 scriptname(允许任何人都具有可读和执行的权限)

或:

chmod +rx scriptname(允许任何人都具有可读和执行的权限)

chmod u+rw scriptname(只给脚本的所有者具有可读和执行的权限)



/*

**

*/

脚本的权限具有可执行的权限后,我们可以使用./scriptname来测试它.



好了,我们来写个简单的脚本玩玩:

打开gedit编辑器,输入

#! /bin/sh

a="Hello lammy!"

echo "A is:" $a

后保存为test或test.sh(建议别带扩展名,省得麻烦)看下面就知道拉;

打开终端,利用cd命令进入该脚本所在的路径,然后

$ chmod 555 test /test.sh[注:如果你保存为什么,这里就输什么)

$ ./test /test.sh

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

741

主题

742

帖子

0

粉丝