shell变量,环境变量配置文件,管道符

简介:

env查看变量    set 也是查看变量的内容 比env强大些

[root@binbinlinux ~]# echo $HOSTNAME  查看变量的名字

binbinlinux

[root@binbinlinux ~]# a=1;b=2

[root@binbinlinux ~]# echo $a $b    可以把两个变量的值输出出来

1 2

变量名字不可以 以数字开头    变量的名字不能用系统命令的名字

[root@binbinlinux ~]# c='ls /tmp/'      举例这个有空格特殊字符 用 '' 引起来

[root@binbinlinux ~]# echo $c

ls /tmp/

[root@binbinlinux ~]# cyvim=`which vim` 想让他自动获得 这条命令的结果要加反引号

[root@binbinlinux ~]# echo $cyvim

/usr/bin/vim

[root@binbinlinux ~]# a=1

[root@binbinlinux ~]# c="$a"12   用双引号区分开来  不然会默认a是一个变量名字  

[root@binbinlinux ~]# echo $c

112

[root@binbinlinux ~]# echo $a

1

[root@binbinlinux ~]# bash   子shell  

[root@binbinlinux ~]# exit    退出子shell

exit

[root@binbinlinux ~]# export a=1    全局的声明

[root@binbinlinux ~]# bash      进入子shell

[root@binbinlinux ~]# echo $a

1

[root@binbinlinux ~]# vim /etc/profile   把自定义变量加入到配置文件当中

[root@binbinlinux ~]# echo $c

1

[root@binbinlinux ~]# unset  c   取消变量值   unset  

[root@binbinlinux ~]# vim /etc/profile

[root@binbinlinux ~]# vim /etc/profile.d/path.sh   已定义PATH

#!/bin/bash

export PATH=$PATH:/tmp/      全局声明 PATH=$PATH:/tmp/

~

source  /etc/profile               即时生效

[root@binbinlinux ~]# echo $PATH      你会发现多了个 /tmp/

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/tmp/

[root@binbinlinux ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/tmp/

[root@binbinlinux ~]# 修改 PATH

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

[root@binbinlinux ~]# source /etc/profile   生效

[root@binbinlinux ~]# echo $PATH   查看

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/:/tmp/

[root@binbinlinux ~]# echo $PS1

[\u@\h \W]\$

[root@binbinlinux ~]# ps1='[\u@\h \W]\$'   修改PS1

[root@binbinlinux ~]# PS1='[\u@\h \w]\$'

[root@binbinlinux ~]#cd /etc/init.d/

[root@binbinlinux /etc/init.d]#PS1='[\u@\h \t\w]\$'

[root@binbinlinux 18:21:02/etc/init.d]#PS1='[\u@\h- \t\w]\$'

[root@binbinlinux- 18:21:18/etc/init.d]#PS1='[\u@\h\W]\$'

[root@binbinlinuxinit.d]#cd

[root@binbinlinux~]#echo $PS1

[\u@\h\W]\$

vim  /etc/profile.d/umask.sh             修改umask 的配置文件 改成 0023

umask  0023

然后 source  /etc/profile     声明生效

针对用户自己自定义配置文件 环境变量

vim .bash_profile   定义

vim .bashrc  用户的别名



[root@abinlinux ~]# ls *.txt    通配符 * 可以是多位   可以列出*下面的多位数*.txt

1.txt  c.txt  m.txt  z.txt

[root@abinlinux ~]# ls ?.txt      ? 以为  可以列出以为.txt

1.txt  c.txt  m.txt  z.txt

#号注释  注释不生效

\脱义符号

[root@abinlinux ~]# ls #1.txt   之执行了ls的命令   #号把后面注释了

12               install.log             m.txt

[root@abinlinux ~]# ls \#1.txt       可以把后面的#号脱义掉

ls: 无法访问#1.txt: 没有那个文件或目录

[root@abinlinux ~]# cat 1.txt |wc -l     把这条命令的结果丢给后面这天命令

460

[root@abinlinux ~]# echo $PATH             $是一个变量的前缀

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/data/bin:/root/bin

!$ 去在次执行这条命令

[root@abinlinux ~]# ls 1.txt ;ls p.txt    把两个命令写成一行 用;号分开

1.txt

~   表示用户的家目录

[root@abinlinux ~]# ls ~    相当于ls /root/

12               install.log             m.txt

[root@abinlinux ~]# sleep 10 &                &把一个命令丢到后台去

[1] 1701

[root@abinlinux ~]# jobs     正在运行中

[1]+  Running                 sleep 10 &

[root@abinlinux ~]# jobs

[1]+  Done                    sleep 10

[root@abinlinux ~]# >   重定向 >>追加重定向  2> 错误重定向  2>>错误追加重定向

[root@abinlinux ~]# wc -l <1.txt      < 反重定向

460

[root@abinlinux ~]# ls [1-9a-zA-Z].txt    中括号表示范围  比如1-9 可以全部列出来

1.txt  2.txt  c.txt  m.txt  z.txt



本文转自 amenging 51CTO博客,原文链接:http://blog.51cto.com/11335852/1982678

相关文章
|
5月前
|
Shell
Shell 文件包含
10月更文挑战第5天
52 4
|
6月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
5月前
|
存储 Java Shell
Shell 变量
10月更文挑战第2天
46 0
|
6月前
|
Shell
shell脚本变量 $name ${name}啥区别
shell脚本变量 $name ${name}啥区别
|
6月前
|
Java Shell Linux
Shell 变量设置
Shell设置变量
75 5
|
6月前
|
Java Shell Linux
Shell 变量设置25-1
Shell编程语言是一种非类型的解释型语言,无需像C++/Java那样事先声明变量。通过赋值即可定义变量,在Linux支持的所有Shell中均适用。变量分为局部变量与环境变量,前者仅限于定义脚本内使用,后者可在其派生的子进程中使用。常见系统变量如$0表示当前程序名称,$n表示第n个参数(n=1,2,...,9),$*代表所有参数,$#代表参数个数,$?表示命令执行后的状态(0为成功),$UID为当前用户ID,$PWD表示当前目录。定义变量如`A=123`,
43 0
|
7月前
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
|
7月前
|
Shell Linux Perl
在Linux中,编写一个shell脚本,用于统计指定目录下所有文件的行数。
在Linux中,编写一个shell脚本,用于统计指定目录下所有文件的行数。
|
监控 Shell Perl
shell脚本批量生成配置文件
  如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦。因而想到了用shell脚本来批量生成配置文件和配置数据。下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序。其原理是事先定义一个shell脚本模板,然后每个需要监控的站点复制一份模板替换掉模板文件里面的变量。
1231 0
|
6天前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。