shell コマンド集

2024.1.29 Taka Kondo's personal command memos:   Linux   ROOT   C++   html   Perl   Python   TeX   TWiki   SVN   shell   vi   emacs |
Bourne Shell自習テキスト | シェルスクリプト入門
csh bash
Bourne shell
説明date
declaredeclare 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 BBが存在しても強制的にoverwriteする。mv -f A Bとおなじかも2022.9.2
.zshrcの再実行source ~/.zshrc 2017.11.27
配列の使い方w=(1 3 5 2 100)で定義し、array2.sharray.shのように使う。配列数は${#w[@]}でforに使える。ただしzsh(lxplusの場合)の配列は[0]はなく[1]から始まる!20195.9.23
関数の使い方func.sh2014.11.25
パイプ機能 A | B コマンドAの標準出力を画面に出さずにコマンドBの標準入力にする機能。例:pipe.sh2014.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.shfor_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, IFSIFSは環境変数デリミタ(文字区切りの事をデリミタ)、例read.sh, IFS指定しなければSpaceで区切るようだ(read2.sh)。ある行だけを取り出したいときの例はread_each_line.sh2015.3.13
set w=namew=nameシェル変数wを定義する。unset wで解除。シェル変数は他のshellには引き継がない。等号=の前と後ろにはスペースを置かないこと。変数参照はecho $wと$を前に付ける。sub-shellに引き継ぎたいときはexportを使う。2009.2.21
echo $ZZecho $ZZシェル変数または環境変数ZZZZZの値をプリントする。
 a=${w}B文字列の足し算 aはnameBとなる.${w}がwの内容と同じ。例:SCT.sh2014.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 -fshell 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 + 1w=`expr $w + 1`シェル変数の整数計算(+ - \* / %が使える、*の前にエスケープ必要)。注意:'でなくバックの`を使うこと、exprでは,整数の四則演算や数値判別といった簡単な処理しか行えない。add.sh2009.2.21
 小数の計算bcはexprとは違いファイルやパイプなどで引き渡された値を処理する。| bcを使う decimal_fraction.txt2015.4.14
 PS1='[\u@\h \W]'プロンプトの設定2006.2.5
echo $shellecho $SHELLshellが何かを調べる2006.2.5
csh,...exitbash, exitshellを起動、終了する2006.2.5
printenv ZZZZZprintenv ZZZZZ環境変数ZZZZZの値をプリントする。2006.2.5
printenvprintenv全ての環境変数をリストする。  
setset全ての変数(shell編集・環境変数)とその値を表示する。2006.2.5
setenv DISPLAY xxxexport 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

Send your comments of this home page to Taka Kondo