LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 257|回复: 0

程序化脚本(shell scripts)

[复制链接]
发表于 2024-1-19 23:24:10 | 显示全部楼层 |阅读模式
在 DOS 年代将一堆指令写在一起的批处理文件,在 Linux 下的 shell scripts 则发挥更强大的功能,可以将你平时管理系统常需要下达的连续指令写成一个文件,该文件并且可以通过对谈交互式的方式来进行主机的侦测工作。也可以借由 shell 提供的环境变量及相关指令来进行设计,以前在 DOS 下需要程序语言才能写的东西,在 Linux 下使用简单的 shell scripts 就可以实现,这部分在 第十二章 讲解

#通配符(wildcard)
举例来说:想要知道 /usr/bin 下有多少以 X 开头的文件,使用ls -l /usr/bin/X* 就可以知道,此外还有其他可用的通配符

#查询指令是否为 Bash shell 的内置命令:type
可以通过 man bash 查看联机帮助文档,内容很多,让你看几天几夜也无法看完,不过该 bash 的 man page 中,还有其他文件的说明,比如 cd 指令也在该 man page 内。在输入 man cd 时,最上方也出现一堆的指令介绍,这是由于方便 shell 的操作内置了这些指令

可以通过 type 指令来观察某个指令是否是内置指令

type [-tpa] name

- 不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内置指令
- t:type 会将 name 以下面这些字眼显示出他的意义
        file:表示为外部指令
        alias:为别名
        builtin:bash 内置指令
- p:如果后面接的 name 为外部指令时,才会显示完整文件名
- a:根据 PATH 变量定义的路径中,将含有 name 的指令都列出来,包含 alias


实践练习

# 查询 ls 这个指令是否为 bash 内置
# 未加任何参数,列出 ls 的最主要使用情况
[mrcode@study ~]$ type ls
ls is aliased to `ls --color=auto'
# 仅列出执行时的依据
[mrcode@study ~]$ type -t ls
alias
[mrcode@study ~]$ type -a ls
ls is aliased to `ls --color=auto'        # 最先使用 aliased
ls is /usr/bin/ls                # 还找到外部指令在 /bin/ls

# 查看 cd 的情况
[mrcode@study ~]$ type cd
cd is a shell builtin                        # cd 是 shell 内置指令

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表