シェルスクリプトメモ-WSL-Ubuntu-bash
Suns & Moon Laboratory
bash シェルスクリプト入門 -シェルスクリプトのいろは-
シェルの起動
Explolerのファイルパスのところで、「bash」を入力してEnter押すと、そのパスでbashが起動する
書き方
改行コードはLFのみ
先頭に実行に使うシェルを書く
#!/bin/bash
bash シェルスクリプト入門 -シェルスクリプトのいろは-
引数
$# | 引数の個数、引数無ければ0 |
$0 | スクリプト名 |
$1 | 一つ目の引数 |
$2 | 二つ目の引数 |
制御構造 if
if [ 条件 ]
:
elif [ 条件 ]
:
else
:
fi
制御構造 while
while 条件
do
:
done
例
引数
if
while
文字列入力待ち
#!/bin/bash
if [ $1 = "" ]
then
echo Usage:xyz bit
echo bit = 0 to 7
exit 1
fi
while true
do
echo 1
read str
echo 0
read str
done
grep
フォルダ再帰で単語検索
LANG=ja_JP,sjis grep -rwn --include={*.c,*.h} XYZ
「LANG=ja_JP,sjis 」は、ubuntuがUTF-8、ファイルがSJISの場合、検索できない対策。指定しないと下記が表示される。
Binary file xxxx.c matches
オプション
-i 大文字込み時無視
-w 単語にマッチ
-r ディレクトリ再起
-n 行番号をつける
ホスト名を使う
ホスト名のフォルダに移動
#!/bin/bash
cd $HOSTNAME
ログファイルの削除・ファイルを空にする
ファイルの中身を空にするコマンドあれこれ
シェルの組み込みコマンドをリダイレクトしてファイルをを空にする。
コロン無くてもいけるらしい
: > /var/log/btmp
: > /var/log/wtmp
: > /var/log/lastlog
: > /var/log/secure
: > /var/log/kdump.log
: > /var/log/firewalld
WSL+Ubuntu
Windows10+WSL
コントロールパネル→プログラム→Windows機能の有効かまたは無効化
▼
Windows Subsystem for Linuxをチェック
▼
再起動:チェック後★すぐ★に再起動しないと、うまく有効にならない時がある。
▼
Windows Store
▼
Ubuntuインストール
参考
シェルスクリプトに挑戦しよう(2)Windows 10のbashを試す! (1/2)
言語設定
インストール時
$ echo $LANG
C.UTF-8
ディレクトリの一覧をフルパスで取得
work1999,work2000,work2001の中のフォルダ一覧を取得する
ls -d -1 /z/work1999/* > dirs.txt
ls -d -1 /z/work2000/* >> dirs.txt
ls -d -1 /z/work2001/* >> dirs.txt
end.
2024-08-14 11:00:26 32400