とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

「入門bash 第3版」を読む(6)

Windows な私がグダグダと Cygwin + bash を相手にする記録。

進捗

119/348

メモ

  • 4章末尾

タスク4-8

task4-8
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"
}
実行結果
~ $>type pushd
pushd is a shell builtin
~ $>. task4-8
~ $>type pushd
pushd is a function
pushd ()
{
    dirname=$1;
    DIR_STACK="$dirname ${DIR_STACK:-$PWD}";
    cd ${dirname:?"missing directory name."};
    echo "$DIR_STACK"
}
~ $>cd /
/ $>pushd /bin
/bin /
/bin $>pushd /etc
/etc /bin /
/etc $>pushd /dev
/dev /etc /bin /
/dev $>popd
/etc
/etc $>popd
/bin
/bin $>popd
/
/ $>

相対パスを使うとバグるとか,スペースを含むパスがあるとバグるとか。

メモ

  • 5章 フロー制御
  • ふむふむ。if/else, for, while, untilcase select
  • ふむふむ。builtin, シェル変数?, return, exit
  • ふむふむ。&&, ||