csh |
bash Bourne shell | 説明 | date |
declare | declare my_value=ABC(shell変数)、-a(配列),-A(連想配列),-i(整数),-l(小文字の文字列) -n(名前参照),-r(読み取り専用変数),-t(トーレス可能な変数),-u(大文字の文字列),-x(環境変数)(exportする),-g(関数内で使用時、グローバル変数) | 2023.10.21 | |
引数 | echo $1 $2 $3 #第一引数から第三引数の値が出力 echo $0 #実行したファイル名が出力 $# シェルに渡した引数の数 | 2023.10.19 | |
sleep 60 | waiting 60 second, every_1min.sh | ||
\mv A B | Bが存在しても強制的にoverwriteする。mv -f A Bとおなじかも | 2022.9.2 | |
.zshrcの再実行 | source ~/.zshrc | 2017.11.27 | |
配列の使い方 | w=(1 3 5 2 100)で定義し、array2.shやarray.shのように使う。配列数は${#w[@]}でforに使える。ただしzsh(lxplusの場合)の配列は[0]はなく[1]から始まる! | 20195.9.23 | |
関数の使い方 | func.sh | 2014.11.25 | |
パイプ機能 A | B | コマンドAの標準出力を画面に出さずにコマンドBの標準入力にする機能。例:pipe.sh | 2014.11.25 | |
echo XXX > file.txt | XXXを標準出力の代わりにファイル file.txtに書く。 >>ならappendする。B=`echo XXX`で変数Bに出来る | 2019.2.19 | |
文字操作 | cutを使う(m=`echo ${day} | cut -d- -f2`)例:cut.sh, rDate.sh, space切り | 2019.2.19 | |
for do done | for i in 0 1 2 ; do------doneでもいい!例for.shやfor_do_done、for (( i = 1; i <= ${#day[@]}; ++i )) ), for (( i = 1; i <= 6; i+=2)) , ループ内でのcontinueやbreakもあり。 | 2018.5.15 | |
fileの存在チェック | file=HVcurrent_fit.pngとしておいてから if [ -e $file ]; then .......; fi fileExist.sh | ||
ファイルからのread, IFS | IFSは環境変数デリミタ(文字区切りの事をデリミタ)、例read.sh, IFS指定しなければSpaceで区切るようだ(read2.sh)。ある行だけを取り出したいときの例はread_each_line.sh | 2015.3.13 | |
set w=name | w=name | シェル変数wを定義する。unset wで解除。シェル変数は他のshellには引き継がない。等号=の前と後ろにはスペースを置かないこと。変数参照はecho $wと$を前に付ける。sub-shellに引き継ぎたいときはexportを使う。 | 2009.2.21 |
echo $ZZ | echo $ZZ | シェル変数または環境変数ZZZZZの値をプリントする。 | |
a=${w}B | 文字列の足し算 aはnameBとなる.${w}がwの内容と同じ。例:SCT.sh | 2014.9.2 | |
if [ -- ] | if [ -- ] then ---- else ------ fi if.sh, then, fiは行の最初にくること(; fiでもいい)。文字列評価はstr1 = str2, str1 != str2, 数値評価はint1 -eq(-ge, -gt, -le, -lt, -ne) int2 論理演算子: ! (直後に続く条件評価式の結果を否定) && (2つの条件評価式の論理積, if [ $KK = $KL ]&&[ $KK != $KM ] ) || (2つの条件評価式の論理和(or))をとる。レープ内でのcontinue(例)やbreakもあり。 | 2015.3.25 | |
#!/bin/csh -f | #!/bin/bash -f | shell scriptの最初の行。XXXで起動すると/bin/csh(bash)で実行。source XXXなら無視。-fは.cshrc(.bashrc)を実行しない。 | 2006.2.5 |
while test $i -gt 4 | shell変数iを定義しwhileを入れて実行文をdo doneで挟む。例:while.sh,sed_grep.sh while,do,doneは行の先頭で単独でなくてはならないようだ。パイプで綱出てはダメみたい。ループ内でのcontinueやbreakもあり。 | 2009.2.21 | |
@ w = $w + 1 | w=`expr $w + 1` | シェル変数の整数計算(+ - \* / %が使える、*の前にエスケープ必要)。注意:'でなくバックの`を使うこと、exprでは,整数の四則演算や数値判別といった簡単な処理しか行えない。add.sh | 2009.2.21 |
小数の計算 | bcはexprとは違いファイルやパイプなどで引き渡された値を処理する。| bcを使う decimal_fraction.txt | 2015.4.14 | |
PS1='[\u@\h \W]' | プロンプトの設定 | 2006.2.5 | |
echo $shell | echo $SHELL | shellが何かを調べる | 2006.2.5 |
csh,...exit | bash, exit | shellを起動、終了する | 2006.2.5 |
printenv ZZZZZ | printenv ZZZZZ | 環境変数ZZZZZの値をプリントする。 | 2006.2.5 |
printenv | printenv | 全ての環境変数をリストする。 | |
set | set | 全ての変数(shell編集・環境変数)とその値を表示する。 | 2006.2.5 |
setenv DISPLAY xxx | export DISPLAY=xxx | 環境変数(environment variable)DISPLAYをxxxとする。環境変数は他のsub-shellにも引き継ぐ(しかし親shellは変更ない)。 | |
unsetenv DISPLAY | 環境変数DISPLAYを削除。 | ||
sleep 10 |
shell program for ideling idle.sh (run by source idle.sh) #!/bin/csh -f set i=3 while (1) @ i = $i + 1 echo $i date sleep 5 end