Home New Help Edit

シェルスクリプトメモ-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の中のフォルダ一覧を取得する
-dディレクトリ
-11行表示

ls -d -1 /z/work1999/* > dirs.txt ls -d -1 /z/work2000/* >> dirs.txt ls -d -1 /z/work2001/* >> dirs.txt

end.

Home New Help Edit
2023-03-24 09:22:19 32400