学习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() |