#pragma section-numbers off = 概要 = ShellはUnix管理では必須です。 = 勉強方法 = http://www.tsden.org/takamiti/shText/ [http://www.iis.u-tokyo.ac.jp/~susaki/command/index.html UNIXコマンドの使い方] 上記サイトの文章で勉強は可能です。あとは日常的に利用するようにすれば大概慣れます。 = 基本構文 = bashの構文ですが以下を参照すれば概要がまとまっています。 http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html [http://www.coins.tsukuba.ac.jp/~syspro/2006/No10_files/sh.html システムプログラム(第10週):shスクリプトでよく使われる機能] 普通にmanで読んでもよいかと思います。 = Tips = 簡単な物は以下の文書にまとまっている。 http://www.linux.or.jp/JF/JFdocs/Bash-Prog-Intro-HOWTO.html Shellにかぎらず掲載されているが以下も読むとよい。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/tipsindex.html == ファイル名取得 == {{{ ${parameter##word} echo "script name is ${0##*/}" }}} == 拡張子一括変換 == {{{ for i in *.jpg; do mv $i ${i%.jpg}.jpeg; done }}} basenameを利用する手もある。 == ファイル名に日付を付加 == {{{ tar cfz moin`date "+%Y%m%d"`.tar.gz moin }}} == 連番の作成 == seq(gun sh-utile)やjotを利用すると簡単。利用できない場合はもありますが、、 {{{ i=0; while [ $i -lt 10 ]; do echo $i; n=`expr $i + 1`; done }}} {{{ for i in `seq 0 10`; do echo $i; done }}} == 本日から一週間前を計算 == {{{ env TZ=JST`echo "7*24-9"|bc` date }}} = 関連リンク = ["Zsh"] [http://www.tsden.org/takamiti/shText/ Bourne Shell 自習テキスト] [http://homepage2.nifty.com/tashikatsu/script/shell/shell.html Shell Scriptでルーチン処理!] [http://www.hpc.cs.ehime-u.ac.jp/~aman/linux/bash/ bash 入門] [http://x68000.startshop.co.jp/~68user/unix/ UNIXの部屋] http://www.netfort.gr.jp/~tomokuni/lms/shell/text/shell3.txt [http://linuxcommand.org/ LinuxCommand.org: Learn the Linux command line. Write shell scripts.] [http://geophile.com/osh/ osh: Object-Oriented Shell] ---- CategoryPrograming CategoryMac CategoryUnix CategoryProgramLanguage