
t0mmy
2020年12月30日に参加
学習履歴詳細
Shell Script 基礎
やったこと
書籍「新しいシェルプログラミングの教科書」
- [[]]
- for文
- リダイレクト
学んだこと
[[]]
test
コマンドと大体同じ。
以下の違いがある。
&&
表記を AND演算子として使用できる||
表記を OR演算子として使用できる()
や<
>
使用時にクォートが不要
など
また、 [[]]
中では単語分割されない。
str="abc def" /*エラー*/ [ $str ... ] /*OK*/ [[ $str ... ]]
[[]]
の中では、 *
をはじめとしたパス展開が使えない。
ただし、 ==
、 !=
の右辺ではパス展開される。
=~
の場合、右辺を拡張正規表現とみなす。
#!/bin/bash str="1234-5678-9012-3456" if [[ $str =~ [0-9]{4}* ]]; then echo yes else echo no fi
for文
for i in hoge
の in hoge
を省略すると、 in $@
と同じ振る舞いをする。
shell scriptにも、 until
文がある。
リダイレクト
>|
で強制上書き
set -o noclobber
設定下でも、ファイルの上書きが可能になる。
ShellScript
2022年06月15日(水)
1.0時間