`
eksliang
  • 浏览: 593329 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

linux复习笔记之bash shell (2) bash基础

阅读更多
转载请出自出处:http://eksliang.iteye.com/blog/2104329

1.影响显示结果的语系变量(locale)

 1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下:

[root@localhost shell]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
......

1.2怎么调整系统的语系变量呢?

答:系统默认的语系定义在/etc/sysconfig/i18n这个文件中,我们可以修改这个文件,来调整系统的语系 

[root@localhost locale]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

 

2.变量键盘读取、数组与声明:read,array,declare

2.1.read

要读取来自键盘输入的变量,就是用read这个命令

语法:
read [-pt] var
参数:
-p:后面可以接提示符。
-t:后面可以接等待的“秒数”。
实例1 让用户由键盘输入自己的名字
[root@localhost locale]# read name
ickes   按下回车键后,光标会等待你的输入                    
[root@localhost locale]# echo $name
ickes   刚输入的内容作为了name这个变量的值
实例2 让用户30秒内输入自己的大名
[root@localhost locale]# read -p "you name is:" -t 30 name
you name is:xialiang  有提示的
[root@localhost locale]# echo $name
xialiang  刚输入的内容作为了name这个变量的值

 

 2.2.declare、typeset

 declare或者typeset是一样的功能,就是声明变量的类型,我一般选择用declare

 declare的用法:

 

语法:
declare [-aixr] var
参数:
-a:将后面名为var的变量定义成数组(array)类型
-i:将后面名为var的变量定义为整数(int)类型
-x:用法跟export一样,将后面的var变成一个环境变量
-r:将后面名为var的变量设置只读
实例一:让变量sum进行100+200+300的累加
[root@localhost locale]# sum=100+200+300
[root@localhost locale]# echo $sum
100+200+300     他这是要干啥呢?原来linux默认,若不指定变量的类型,那么这个他的类型就是字符串
[root@localhost locale]# declare -i sum=100+200+300
[root@localhost locale]# echo $sum
600
实例二:将sum变成环境变量
[root@localhost locale]# declare -x sum
[root@localhost locale]# export | grep sum
declare -ix sum="600" 看到了没有,果然包括了i与x的声明
实例三:让sum变成只读属性,不可改动
[root@localhost locale]# declare -r sum
[root@localhost locale]# sum=100
-bash: sum: readonly variable 果然不然改动这个变量了
实例四:让sum变成非环境变量
[root@localhost locale]# declare +x sum  将-变成+就变成了取消操作
[root@localhost locale]# declare -p sum  -p可以单独列出变量的类型
declare -ir sum="600"
但是注意了:-r这个只读属性,一旦设定,就不能够取消,通常需要注销重新登录
 注意了:默认情况下,bash对于变量有几个基本的定义

 

 1).变量类型默认为字符串(从实例一可以看出);

 2).bash环境中数值运算,默认最多仅能达到整数类型,所以1/3的结果是0

2.3.数组

语法相当简单:var[index]=content,如下所示,是不是如此的简单、

 

[root@localhost locale]# var[0]=1
[root@localhost locale]# var[1]=ickes
[root@localhost locale]# echo ${var[0]}
1
[root@localhost locale]# echo ${var[1]}
ickes
一般来说,建议直接以${数组}的方式来读取,会比较正确无误
 3.命令别名设置:alias,unalias

 

 这个相当容易理解,通过一个例子来阐述如下:就是如此的简单

 

[root@localhost ~]# alias l='ls -al'
[root@localhost ~]# l
单独使用,可以查看哪些命令是命名别名
[root@localhost ~]# alias
alias cp='cp -i'
alias l='ls -al'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
 取消该命令别名就是用
[root@localhost ~]# unalias l
 
4.历史命令:history
bash有提供命令历史的服务。那么如何查询我们曾经执行过的命令呢?
答:用history命令
 
语法:
history [n]
history [-c]
histroy [-raw] histfiles
参数:
n:数字,列出最近的n条命令的意思
-c:将目前的shell中所有history内容清除
-a:将目前新增的history命令新增如histfiles文件中,若没有加histfiles这个文件,则默认写人~/.bash_history.
-r:将histfiles的内容读到目前这个shell的history记忆中
-w:将目前的history记忆内容写入historyfiles中
实例一:列出当前内存中所有的history记忆
[root@localhost ~]# history
内容太多,篇幅较大,我不展示了
实例二:列出目前最近的3条数据
[root@localhost ~]# history 3
 1134  history[root@localhost ~]# history 3
 1135  clear
 1136  history 3
实例三:将目前内存中的history记录写入hist.txt文件
[root@bogon ~]# history -w hist.txt
 在正常情况下,历史命令的读取与记录是这样的:
当我们以bash登录linux主机之后,系统会主动由主文件夹的~/.bash_history读取以前曾经执行过的命令,假设我们这次登录主机后,共执行过100次命令,等我注销是,系统就会将101~1000这总共1000笔历史命令更新到~/.bash_history当中。也就是说,历史命令在我注销时,会将最近的HISTSIZE条记录到我的记录文件当中。当然也可以使用history -w强制立即写入。
0
0
分享到:
评论

相关推荐

    PDF电子书《Bash Shell学习笔记》

    PDF电子书《Bash Shell学习笔记》,和大家分享~~

    Bash shell 学习笔记

    Bash shell 学习笔记

    bash shell学习笔记

    bash快捷键、Linux有关网络配置的命令 一、创建shell脚本、重定向输入与输出、执行数学运算、退出脚本 二、shell脚本中的各种结构化命令的格式与用法(for、while、until、break等) 三、处理用户的输入:命令行参数...

    bash_shell笔记_1_脚本基础知识

    bash_shell笔记_1_脚本基础知识

    Bash_shell学习笔记

    Bash_shell学习笔记

    入门到熟练 高效 Bash Shell 学习笔记材料书籍 BashNotesForProfessionals

    一本特别实在的 Bash 笔记教程,学习效率很高。是一份不可多得的高效 Bash 学习材料。如果你想学习 Bash Shell、Bash 脚本编程,看它绝对没错。免费分享!不用积分,更不用付费! 或者从此处直接下载: ...

    linux与unix shell编程指南读书笔记

    本书重点讲述了当下最流行的两个Linux Shell——Borne Again Shell (bash)和TC Shell(tcsh),从它们的新特性、增加和内建的插件讲起直至具体的应用。通过对一个个实例的讲解,循序渐进地介绍了Linux Shell中的各个...

    Bash_Shell 小笔记

    NULL 博文链接:https://crazylv.iteye.com/blog/551110

    Shell脚本学习笔记

    第1章 BashShell命令 6 1.1 Shell提示符 6 1.2 文件与目录Shell命令 7 1.2.1 更改目录命令(cd) 7 1.2.2 列表命令(ls) 7 1.2.3 操作文件命令 10 1.2.4 目录处理命令 14 1.2.5 查看文件内容命令 15 1.3 监控程序 20 ...

    bash获取当前路径示例

    您可能感兴趣的文章:bash shell命令行选项与修传入参数处理Bash Shell 注释多行的几种方法bash批量修改文件名称的方法小结(增加,去除,修改后缀)bash 编程中循环语句用法BASH 学习笔记小结Bash Shell字符串操作小...

    shell编程学习笔记

    shell脚本成分 开头和注释: shell脚本的开头,用来解释shell程序,包括:#!/bin/bash、#!/bin/csh、#!/bin/tcsh、#!/bin/pdksh,一般用#!/bin/bash。。 shell脚本中的注释,以#开头的...

    bash笔记-01-intro .doc

    GNU/Linux支持多种版本的shell. 但默认的是bash. /etc/shells文件列出了本机linux系统支持的shell类型. /etc/passwd中列出了用户默认的登录shell.

    shell自研基础学习笔记

    内容包含shell基础所有内容,适合于新手学习,内容非常全面,值得拥有

    Linux shell 编程学习笔记

    这次难得有时间和条件来学习,所以做好笔记。 一:shell 能做什么  二:shell 脚本的几种执行方式,我们创建文件 start.sh,并且赋予 执行权限 chomd +x start.sh #然后可以通过以下命令执行 #相对路径,或者绝对...

    Linux SHell Script

    Linux Shell Script with Bash , it is target for advanced user. it is useful

    SHELL笔记.doc

    本文档是SHELL学习文档,个人笔记,简单便捷,精准学习,可以当做参考书

    bash_learning:学习Linux的笔记

    bash_learning:学习Linux的笔记

    shell编程 从入门到精通百度网盘下载地址.

    包括概述、linux文件系统、正则表达式、sed命令和awk编程、文件的排序、合并和分割、变量和引用、操作符、循环与结构化命令、变量的该机用法、I/O重定向、linux/unix shell类型与区别、子shell进程处理、函数、别名...

    bash-study:shell学习笔记

    BASH STUDY这个项目目的在于学习 bash.#说明由于初学shell,所以进程管理和系统级shell 没有记录。#历史2014.3,读了 《学习 bash》第二版。2014.3.14,建立目录框架2014.3.28,增加了 awk,windows bat, python 脚本。...

    my-linux-config:为了创建一个有效的开发人员环境,它是一本运行手册,在安装Linux后可以自定义bash&zsh,nano和各种工具。 安装所需的开发工具

    hands: 它是如何创建的学习,练习和签到行之有效的方法在开发人员生产力的背景下,了解Linux的深度,shell,各种开发工具功能捕捉“启动和运行”,“提示和技巧”以及学习笔记 :rocket: 何时使用管理针对bash,zsh,...

Global site tag (gtag.js) - Google Analytics