Linux 下Shell的使用

1、shell基本参数

#cat /etc/shells 系统提供的shell位置

#bsh、csh、ksh、bash 改变root用户的shell环境

#chsh  改变普通用户的shell环境

#more /etc/passwd 查看所有用户的shell环境

2、shell变量

2.1、环境变量

#set | more  查看环境变量

2.2、常用环境变量介绍

#echo $USER 显示当前用户登录名

#echo $UID 显示当前用户的用户号

#echo $SHELL 显示当前用户的登陆Shell

#echo $HOME 显示当前用户的宿主目录

#echo $PWD 显示当前用户所在的目录

#echo $PATH 表示当前用户的命令搜索路径

#echo $PS1 显示当前用户的主提示符

#echo $PS2 显示当前用户的辅助提示符

2.3、环境变量配置文件

#ls -l /etc/bashrc  /etc/profile  显示环境变量的全局配置文件

"bashrc"文件用于定义全局的函数和别名,文件的内容除了为系统中所有登录用户提供设置外,也适用于非交互Shell和非登录Shell

"profile"文件负责设置全局的环境,并应用于所有的用户登录Shell

#ls -l /home/username/.bash_profile   /home/username/.bashrc  显示用户username的配置文件

#cd /etc/skel  进入初始的用户配置文件

#cp .bash_logout .bash_profile .bashrc .emacs .gtkrc  /home/username 复制用户的初始配置文件到用户username的宿主目录下(当用户对自己的配置文件设置出错时使用)

2.4、位置变量

格式:$n n从1到9

单引号(''):不进行任何的变量替换,保持字符串的原始值

双引号(""):以变量的值来替换,并作为字符串的一部分

反引号(``):用于进行命令替换,引号中命令的执行结果将替换命令本身作为字符串

2.5、预定义变量

#echo $# 表示位置参数的变量

#echo $* 表示位置参数的内容

#echo $? 表示命令执行后返回的状态,用于检查一个命令的执行是否正确;在Linux中,命令退出状态为0表示命令正确执行,任何非0值表示命令执行错误

#echo $$ 表示当前进程的进程号

#echo $! 表示后台运行的最后一个进程号

#echo $0 表示当前执行的进程名

2.6、用户自定义变量

#变量名=变量值 DAY=Sunday

#echo $变量名  echo $DAY

#unset -f -v name

2.7、Bash常用功能

#history  历史命令查看

#history -c 命令历史清除

2.8、命令别名

#alias 命令='新命令'   alias ll='ls -l' 使用ll别名更换ls -l命令

#unalias -a name  取消命令别名

#cd /etc/profile.d/ 查看系统别名定义文件

3、管道与重定向

3.1、输入重定向

#wc /etc/passwd  计算文件/etc/passwd中的字符数、单词数和行数

#wc < /etc/passwd  将"/etc/passwd"文件中的内容输入重定向到WC命令中

3.2、输出重定向

#cat /etc/passwd  >file  将/ect/passwd下的内容覆盖到file中

#cat /etc/passwd  >>file  将/etc/passwd下的内容追加到file中

#aaa 2>errfile 将aaa命令显示的错误结果输入到errfile中

#ls afile bfile &>allfile 将标准输出和错误输出重定向到同一个文件

#ls /etc/passwd/ | head -5 显示passwd中前5行内容

4、Shell脚本

#ls -l /etc/init.d/目录中存在着数量相当多的系统服务启动程序,这些程序全部都是Shell脚本文件,可以使用file命令查询这些文件的类型

#bash *.sh  使用shell命令执行脚本

#. /home/techer/filename.sh 执行filename.sh

shell里面比较大小

#!/bin/bash

if [ $1 -gt $2 ]

then echo "$1>$2"

else echo "$2>$1"

fi

# 数字判断一些命令

#-gt是大于的意思

#-lt是小于

#-eq是等于

#-ne是不等于

#-ge是大于等于

#le是小于等于  
    原文作者:YPHP
    原文地址: https://segmentfault.com/a/1190000007957380
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞