トップ «前の日記(2020-01-13) 最新 次の日記(2020-01-15)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2020-01-14 :-|

_

ストレージ労。一区切りしそうな感じ。

_ [bash][サブシェル]bash でのサブシェルからの return を拾う

ref. Bashにおける括弧類の意味 - Qiita

サブシェル内で return だけしてもサブシェルの後ろに書かれたコマンドが実行されてしまうので、「|| return」で拾ってやらないといけない。あるいは if [ $? -ne 0 ] でテストする。やってることはどちらも同じ。

#!/bin/bash

hogehoge()
{
  (
    cd /usr
    echo $PWD
    if [ $1 -ne 0 ]; then
      return 1
    else
      return 0
    fi
  ) || return 1
  echo $PWD
  echo hogehoge
}

echo $PWD
hogehoge $*
if [ $? -ne 0 ]; then
  echo NG
else
  echo OK
fi

実行

% /bin/bash ret2.sh 1
/home/miwa/work/lang/sh
/usr
NG
% /bin/bash ret2.sh 0
/home/miwa/work/lang/sh
/usr
/home/miwa/work/lang/sh    サブシェルの後に書かれた行に到達してる
hogehoge
OK