-------------------------------------------------------------------------------------------
$0: 腳本中時,代表執行文件的名字,注意不包含參數
$0: 命令行時,代表當前shell的名字
$0: awk時,代表當前的一整行
--------------------------------------------------------------------------------------------
在Vim 中可以直接查看文件編碼
:set fileencoding
:set fileencoding即可顯示文件編碼格式。
----------------------------------------------------------------
命令:chpasswd用來更改用戶的密碼,/usr/sbin/chpasswd
echo "ads1222:ads1222" | chpasswd
AIC2 /root# chpasswd p.txt
p.txt的內容必須爲: 用戶名:密碼
-------------------------------------------------------------------------------------------
向文件寫內容:
echo "LANGUAGE=CN" >> .profile
echo "export LANGUAGE" >> .profile
echo "JAVA_HOME=/usr/lib/java" >> .profile
echo "export JAVA_HOME" >> .profile
-------------------------------------------------------------------------------------------
expr:表達式
#!/bin/bash
var=abc
typeset testV=`expr length $var`
echo $testV
typeset len=`expr $testV - 1`
#另一種更好的方法
typeset len2=$((testV-1))
echo $len
-------------------------------------------------------------------------------------------
awk命令:
//搜索匹配項
awk '/a+/ {print $0}' awk.txt
//從1開始,左包括,取2個字符
echo 'abccdd' | awk '{print substr($0,3,2)}'
顯示匹配的最後的字符串
awk '{ print $NF}' filename
echo "2.3.tar" | awk -F "." '{print $NF}'
//豎排變橫排
awk '{ printf("%s,",$1) }' 文件名
//橫排變豎排
awk -F= 和awk -F = 等價
//NR代表當前是第幾行
cat /etc/passwd | awk 'FS=":" {print $1, NR}'
awk 條件 {動作}, 這裏的條件可以是模式//
//這裏的-v用於給一個變量賦值
echo a=b | awk -F= -v name=xuxu '{ if ($1 == name) print $2}'
-------------------------------------------------------------------------------------------
sed:
//變量進行替換,變量必須爲''括起來
ftp1204@AIC2:~/.dd> echo xx.yy | sed 's/xx/$B/g'
$B.yy
ftp1204@AIC2:~/.dd> echo xx.yy | sed 's/xx/'$B'/g'
bb.yy
------------------------------------------------------------------------------------------
bash中只能函數才支持return
ksh則任意處都可以使用
-------------------------------------------------------------------------------------------