当前位置:  操作系统/服务器>linux

shell编程基础之认识与学习BASH

    来源: 互联网  发布时间:2014-10-15

    本文导语:  1、认识Bash 通过Shell将输入的指令与Kernel沟通,让Kernel控制硬件工作查看Shell:cat /etc/shell登录后预设的shell类型记录在/etc/passwd中,与账户相关命令别名:alias lm='ls -al' #注意有无空格帮助:man bash命令类型:type 代码如下:type ls # l...

1、认识Bash

通过Shell将输入的指令与Kernel沟通,让Kernel控制硬件工作
查看Shell:cat /etc/shell
登录后预设的shell类型记录在/etc/passwd中,与账户相关
命令别名:alias lm='ls -al' #注意有无空格
帮助:man bash
命令类型:type

代码如下:

type ls # ls is aliased to `ls –color=auto'
type cat # cat is hashed (/bin/cat)
type cd # cd is a shell builtin


命令执行:

[Enter]:将[Enter]转义,按下后不执行,而是另起一行

2、Shell的变量功能

概念:同一变量,不同用户可以有不同值,所以可以用变量来代表此值,而不用将具体的值 写入程序,如$PATH

代码如下:

显示变量:echo $PATH
设定变量:PATH=xxx #注意空格有无
扩充变量:PATH=$PATH:xxx
取消变量:unset MAIL
查看环境变量:env
查看环境变量及自定义变量:set

PS1:提示字符设定
自定义变量转环境变量:export
为什么要转成环境变量:因为子程序会继承父程序的环境变量
语系支持
查看系统支持的语系:locale -a
查看与语系有关的变量:locale
键盘读取用户输入read: read atest #将用户输入读入atest变量
声明变量类型 declare: declare -i sum=100+50

3、命令别名与历史命令

别名

代码如下:

alias lm='ls -al | more'
unalias lm

历史命令

代码如下:

history

4、Bash shell的操作环境

指令执行时查找顺序
相对/绝对路径 -> alias -> bash内建 -> $PATH
bash配置文件

代码如下:

login shell/non-login shell
login shell: 进入shell时需要输入账号密码
non-login shell: 通过图形界面登录,再启动shell时无需输入账号密码

配置文件

代码如下:

login shell:
/etc/profile :系统整体设定
以下三个文件按顺序,如果存在,就读取,后面的就不再读取
~/.bash_profile
~/.bash_login
~/.profile

通配符

代码如下:

* : 0到无穷个字符
? : 一个字符
[]: [abc] # a or b or c
[-]: [0-9] # 0 到 9
[^]: [^abc] # 不是a,b,c的一个字符

5、数据流重导向

代码如下:

> :覆盖
>>:累加
/dev/null:接收信息但不显示
依次执行:cmd1,cmd2,cmd3
根据上一条执行结果确定下一条
cmd1 && cmd2
cmd1 || cmd2

6、管线命令

代码如下:

ls | less
cut:同一行数据分割
echo $PATH | cut -d ':' -f 5 #以':'分割,第5个数据
grep:如果一行里有需要的信息,就返回这一行
sort:排序
uniq:重复内容只显示一次
wc:统计单词数
tee:双向重定向
tr:删除或替换数据
col:转化为纯文本
join:将两个文件中相关信息放在一起
paste:将两行并在一起,中间用[Tab]分开
expand:将[Tab]转为空格
split:将大文件传为小文件

    
 
 

您可能感兴趣的文章:

  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • Linux下的编程指的就是Shell编程吗?
  • 那里有《shell编程》和关于curses编程的教程可以下载,请帮忙?
  • C编程与shell编程有什么区别,两者有没有从属关系?
  • Linux C编程一站式学习,高级shell Bash脚本编程指南,
  • shell 编程 执行shell新建多个终端 并执行程序
  • Linux命令、编辑器与Shell编程 和 UNIX SHELL范例精解(第4版) 区别大么?
  • Shell编程的,可以在shell中访问多行的属性吗?如:
  • 刚学Shell编程,问个关于Shell中if语句的问题
  • 如何学UNIX的SHELL编程
  • 请推荐基本shell编程书籍
  • 请大家推荐一本shell编程方面的书
  • 给我推荐点shell编程的学习资料。
  • 谁有linux shell编程方面比较好的语法资料哦?
  • 关于Shell编程???
  • 学好SHELL编程能从事什么职业?
  • 关于shell脚本编程
  • 关于shell编程的小问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教关于两个最基础的SHELLE编程的错误,有程序,在线等
  • 又来问菜鸟问题了,基础shell
  • 关于linux shell(脚本)命令的一个基础问题
  • shell基础的几个问题
  • linux shell脚本基础知识学习
  • shell基础学习中的字符串操作、for循环语句示例
  • 什么是Shell?Shell脚本基础知识详细介绍
  • shell编程基础知识小结
  • Linux shell脚本基础学习详细介绍(完整版)第1/2页
  • 学习shell脚本之前的基础知识[图文]
  • linux基础之Shell Script入门介绍
  • hbase shell基础和常用命令详解
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • 如何在一台机器上的shell中执行另外一台机器上的shell


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3