shell-初学零碎点

命令解析器

sh:UNIX最初使用的shell,平且在每种UNIX上都可以使用,在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell

#! usr/bin/ sh

bash,与sh完全兼容,并且在sh的基础上增加,增强了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多C Shell和Korn Shell中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面

#! usr/bin/ bash

ksh集合了csh和sh的优点并且和shll完全兼容。

#! usr/bin/ ksh

csh 语法与C语言很相似

#! usr/bin/ csh

查看本机默认的shell:echo $SHELL


位置参数
脚本程序名:$0
参数个数:$#
参数1:$1(从左至右)
参数2:$2


脚本不在当前shell执行
而是新开一个shell执行
若想使用当前shell执行:source 脚本名


循环控制

for variable [in words];
do commands
done
if commands; then
     commands
[elif commands; then
     commands...]
[else
     commands]
fi
while commands; do 
    commands; 
done
case word in 
    [pattern [| pattern]...) commands ;;]... 
esac

例1:

case $REPLY in 
0) echo "0" 
    exit 
    ;; 
1) echo "1" 
;; 
2) echo "2" 
    ;; 
*) echo "Invalid entry" 1>&2 #重定向标准输出与标准错误输出
    exit 1 
    ;;
esac

例2:

case $REPLY in 
    [[:alpha:]])  echo "is a single alphabetic character." ;; 
    [ABC][0-9])  echo "is A, B, or C followed by a digit." ;; 
    ???)  echo "is three characters long." ;; 
    *.txt)  echo "is a word ending in '.txt'" ;; 
    *)  echo "is something else." ;; 
esac

远程执行


确定执行


附:
‘`’->取出命令的输出
ls 发现:文件名~,解释:对文件进行修改的时候 系统自动生成的备份文件。解决:vim有这个功能,要去掉,设置 _vimrc,加入set nobackup

你可能感兴趣的:(Linux初学探索)