tmpdir.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # -*- mode: sh; tab-width: 4; coding: utf-8 -*-
  2. # vim: ts=4 noet ai ft=sh
  3. # Create a temporary directory.
  4. # This file is part of JPM.sh.
  5. # Copyright (C) 2016 the Desktopd developers
  6. #
  7. # This program is free software: you can redistribute it and/or modify
  8. # it under the terms of the GNU Affero General Public License as
  9. # published by the Free Software Foundation, either version 3 of the
  10. # License, or (at your option) any later version.
  11. #
  12. # This program is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU Affero General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU Affero General Public License
  18. # along with this program. If not, see <https://www.gnu.org/licenses/>.
  19. # jpmTempDirCreate [<prefix>]
  20. jpmTempDirCreate () {
  21. [ -d "$TMPDIR" ] && [ -w "$TMPDIR" ] && [ -x "$TMPDIR" ] && {
  22. _tmpBaseDir=$TMPDIR
  23. } || {
  24. [ -d /dev/shm ] && [ -w /dev/shm ] && [ -x /dev/shm ] \
  25. && _tmpBaseDir=/dev/shm || _tmpBaseDir=/tmp
  26. }
  27. [ "$1" ] && _prefix=_$1
  28. mktemp -d "${_tmpBaseDir}"/.jpm-sh"${_prefix}".XXXXXX
  29. }