文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>学习bash第四章 学习笔记

学习bash第四章 学习笔记

时间:2008-04-12  来源:dracohan

 

  1. chmod +x scriptname 更改脚本可执行权限

  2. unset -f functionname 删除函数定义

  3. declare -f/-F 察看函数/函数名称

  4. type -all dodo type -type bash

  5. * 及 @代表所有除第0个参数的参数表

  6. $0为脚本名称

  7. local使函数内变量独立于全局变量

  8. "$*"为1个参数 "$@"为IFs分隔后参数的数目

  9. echo $varname 为echo ${varname}的简化形式

function afunc
{
    echo in funtion: $0 $1 $2
    var1="in function"
    echo var1:$var1
}
var1="outside function"
echo var1:$var1
echo $0 $1 $2
afunc funcarg1 funcarg2
echo var1:$var1
echo $0 $1 $2

command:

ascript arg1 arg2
 
output:
var1:outside function
ascript arg1 arg2
#$0 is ascript(the scripts name)
in funtion:ascript funcarg1 funcarg2
var1:in function
#local inspect the outside
var1:in function
ascript arg1 arg2

function afunc
{
    local var1
    echo in funtion: $0 $1 $2
    var1="in function"
    echo var1:$var1
}
var1="outside function"
echo var1:$var1
echo $0 $1 $2
afunc funcarg1 funcarg2
echo var1:$var1
echo $0 $1 $2

command:

ascript arg1 arg2
 
output:
var1:outside function
ascript arg1 arg2
in funtion:ascript funcarg1 funcarg2
var1:in function
#local inspect the outside

var1:out function
ascript arg1 arg2

  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."}

  howmany=$(2:-10)

  sort -nr filename|head -$howmany

if [-z "$1"];then
     echo 'usage:highest filename[-N]'
  else
  filename=$1
  howmany=$(2:-10)

  sort -nr filename|head -$howmany
  fi

 

  #与上例意义相同

  filename=${1:?"filename missing."}

  howmany=$2

  sort -nr filename|head -${howmany:=10}

  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:
/home/cam/bin
/usr/local/bin
……

 

  17. 不确定时使用单引号,如果要进行变量替换或者命令替换则需要使用双引号。

      变量替换例子:mail $(who|cut -d' ' -f1)

  Task 4-5

  #分隔符为| 的第四个域

  cut -f4 -d\|album

  18.

who | cut -d' ' -f1

output:
root
micheal
cam
……

 

  19. DIR_STACK=""

      export DIR_STACK

  20.

pushd()
{
   dirname=$1
   DIR_STACK="$dirname ${DIR_STACK:-$PWD' '}"
   cd ${dirname:?"missing directory name"}
   echo $DIR_STACK
}

 

 

popd()
{
    DIR_STACK=${DIR_STACK#* }

    cd ${DIR_STACK%% *}
    echo "$PWD"
}

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载