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時間