YanoRyuichi.com/
Wiki
Blog
GitHub
Sandbox
開始行:
* 部分一致で検索する [#s9cd85d2]
** grepを使って [#wc3f7c60]
if $(echo $TERM | grep xterm > /dev/null) ; then
echo OK
fi
** Bashの正規表現マッチオペレーター(=~)を使って [#ia7dd...
TERM=xterm
if [[ "$TERM" =~ ^x ]]; then
echo OK
fi
=> OK
TERM=xterm
if [[ "$TERM" =~ ^x ]] && echo OK || echo NO
=> OK
TERM=xterm
OS=Linux
[[ "$TERM" =~ ^x && "$OS" = "Linux" ]] && echo OK
=> OK
- ifに続く条件式は複合コマンド[[ ]]を使う。testコマンド[]...
- 正規表現は引用符で包まない。"^x"はダメ。^xとする。
*** ベンチマーク [#bd4ec0d5]
# grep
real 0m4.484s
user 0m0.234s
sys 0m2.203s
# bash =~
real 0m2.823s
user 0m0.188s
sys 0m1.203s
- 予想通り、bashの機能を使った方が速そうだ。
** パス名展開を使って [#b23c367d]
case "$TERM" in
*256color)
echo "DEBUG: 256color"
;;
xterm*)
echo "DEBUG: xterm*"
;;
?term)
echo "DEBUG: ?term"
;;
*)
echo "DEBUG: *"
;;
esac
- 環境変数$TERMがマッチするのは、上から、
- TERM=xterm-256color
- TERM=xterm もしくは xterm-16color
- TERM=kterm
- TERM=teraterm もしくは すべて
- など
*** 参考 [#sfc6d67f]
- http://www.gnu.org/software/bash/manual/bashref.html#Co...
- http://stackoverflow.com/questions/21112707/check-if-a-...
終了行:
* 部分一致で検索する [#s9cd85d2]
** grepを使って [#wc3f7c60]
if $(echo $TERM | grep xterm > /dev/null) ; then
echo OK
fi
** Bashの正規表現マッチオペレーター(=~)を使って [#ia7dd...
TERM=xterm
if [[ "$TERM" =~ ^x ]]; then
echo OK
fi
=> OK
TERM=xterm
if [[ "$TERM" =~ ^x ]] && echo OK || echo NO
=> OK
TERM=xterm
OS=Linux
[[ "$TERM" =~ ^x && "$OS" = "Linux" ]] && echo OK
=> OK
- ifに続く条件式は複合コマンド[[ ]]を使う。testコマンド[]...
- 正規表現は引用符で包まない。"^x"はダメ。^xとする。
*** ベンチマーク [#bd4ec0d5]
# grep
real 0m4.484s
user 0m0.234s
sys 0m2.203s
# bash =~
real 0m2.823s
user 0m0.188s
sys 0m1.203s
- 予想通り、bashの機能を使った方が速そうだ。
** パス名展開を使って [#b23c367d]
case "$TERM" in
*256color)
echo "DEBUG: 256color"
;;
xterm*)
echo "DEBUG: xterm*"
;;
?term)
echo "DEBUG: ?term"
;;
*)
echo "DEBUG: *"
;;
esac
- 環境変数$TERMがマッチするのは、上から、
- TERM=xterm-256color
- TERM=xterm もしくは xterm-16color
- TERM=kterm
- TERM=teraterm もしくは すべて
- など
*** 参考 [#sfc6d67f]
- http://www.gnu.org/software/bash/manual/bashref.html#Co...
- http://stackoverflow.com/questions/21112707/check-if-a-...
ページ名: