bash 管道 grep


bash的配置文件:

profile类:交互式登录用户(设定环境变量,运行命令或脚本)

/etc/profile:全局配置文件(root有权限修改)

/etc/profile.d/*.sh:全局,对上者补充(root有权限修改)

~/.bash_profile:仅对某个用户有效

bashrc类:非交互式登录用户(设定本地变量,定义命令别名)

/etc/bashrc:全局有效

~/.bashrc:仅对某个用户有效


新定义或更改的配置文件不会立即生效,除非执行以下操作:

1、重新登录

2、读取配置文件

source 配置文件路径



定义环境变量(追加)


export PATH=$PATH:路径名



交互式登录的用户:

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile -->


~/.bashrc --> /etc/bashrc


非交互式登录用户:

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh


输出重定向:

>  :覆盖重定向

   set -C:避免覆盖已经存在的文件,强制覆盖用 >|

   set +C:关闭覆盖

>> :追加重定向


错误输出重定向:

2> :覆盖重定向

2>>:追加重定向


标准输出和错误输出重定向到一个文件:


&>

&>>


输入重定向


<


<<:创建文档,cat  文件路径    <<EOF(通常用户生成文件)

            cat              <<EOF(通常用于生成菜单 提示信息)



多通道输出:tee

例:

命令 | tee 文件路径 |less


sort:排序

    -u:去除重复的



shell 不支持浮点数,如果遇到会被圆整

#!/bin/bash


检查脚本的语法错误:

(不执行脚本)

bash -n 路径

调试执行脚本:

(显示运行过程)

bash -x 路径


【for循环】

for 变量名 in 元素1 元素2 ... ; do

语句1;

语句2;

...

done


例子:

#!/bin/bash

#Version:0.0.2

#Date:02/25/2014


for UserName in user11 user22 ;do

       useradd UserName;

       echo $UserName | passwd --stdin $UserName

done


{1..100}:从1到100

seq 3 2 16:seq 起始数字 步长  终止数字


算数运算的实现:

$[表达式]:$[$A+$B]

$((表达式)):$(($A+&B))

expr 表达式:expr $A + $B

运算包含各种算数运算


你可能感兴趣的:(profile,配置文件,source,Export,管道)