学习bash第四章 学习笔记
时间:2008-04-12 来源:dracohan
- 
    chmod +x scriptname 更改脚本可执行权限 
- 
    unset -f functionname 删除函数定义 
- 
    declare -f/-F 察看函数/函数名称 
- 
    type -all dodo type -type bash 
- 
    * 及 @代表所有除第0个参数的参数表 
- 
    $0为脚本名称 
- 
    local使函数内变量独立于全局变量 
- 
    "$*"为1个参数 "$@"为IFs分隔后参数的数目 
- 
    echo $varname 为echo ${varname}的简化形式 
| 
          function afunc 
          ascript arg1 arg2 | 
| 
          function afunc | 
11.${varname:-word} varname存在且非Null,返回其值;否则返回word
${varname:=word} varname存在且非Null,返回其值;否则设置为word
${varname:?message} varname存在且非Null,返回其值;否则打印message
${varname:+word} varname存在且非Null,返回word;否则返回Null
${varname:offset} 返回字符串的一部分
${varname:offset:offset} 返回字符串的一部分
Task 4-1
| 
            filename=${1:?"filename missing."} | 
| 
          if [-z "$1"];then | 
| #与上例意义相同 
            filename=${1:?"filename missing."} | 
12. echo -e -n ${header:+"ALBUMS ARTST\n"}
13. echo ${album_line:8}
14. outfile=${filename%.pcx}.gif
15. #从绝对路径得到文件名
bannername=${pathname##*/}
16. echo -e ${PATH//:/'\n'}
| 
          output: | 
17. 不确定时使用单引号,如果要进行变量替换或者命令替换则需要使用双引号。
变量替换例子:mail $(who|cut -d' ' -f1)
Task 4-5
#分隔符为| 的第四个域
cut -f4 -d\|album
18.
| 
          who | cut -d' ' -f1 | 
19. DIR_STACK=""
export DIR_STACK
20.
| 
          pushd() | 
| 
          popd() | 










