gash/tests/pipes-and-booleans.org

1.8 KiB
Raw Permalink Blame History

;;; Gash Guile As SHell ;;; Copyright © 2016, 2017, 2018 R.E.W. van Beusekom <rutger.van.beusekom@gmail.com> ;;; Copyright © 2018, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; ;;; This file is part of Gash. ;;; ;;; Gash is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; Gash is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with Gash. If not, see <http://www.gnu.org/licenses/>.

and

  true && exit 2

:status: 2

exec

  exec true
  false

or

  false || true

pipe-exit-0

  false | true

pipe-exit-1

  true | false

:status: 1

pipe-sed-cat

  echo -e 'a\nb\nc' tests/data/star/* | sed 's, ,\n,g' | cat

:STDOUT:

  a
  b
  c
  tests/data/star/0
  tests/data/star/1
  tests/data/star/2
  tests/data/star/3

pipe-sed

  echo -e 'a\nb\nc' tests/data/star/* | \sed 's, ,\n,g'

:STDOUT:

  a
  b
  c
  tests/data/star/0
  tests/data/star/1
  tests/data/star/2
  tests/data/star/3

semi

  # gash makes this into a pipeline, then uses `true''s exit status
  false ; true

:status: 1