/ 雑記帳

[ カテゴリー » Linux スクリプト ]

HD ハードディスク情報の取得基本スクリプト

#!/bin/sh
    
HD=`df | sed -n '2,2'p | awk '{print $1}' | sed 's/[1-9]//g'`
#echo "$HD"
echo ""
smartctl --all $HD | grep "Device Model"
echo ""
smartctl --all $HD | grep "overall-health self-assessment"
    
このスクリプトは現在、起動しているHDがどれか?分からなくなるので作りました。
マルチブートにすると間違いが命取りになります。

— posted by くま at 05:36 pm   pingTrackBack [0]

sedの置換文字に変数を使用したい

例題はこんな感じ.../ではなくて|を使うのがミソ
# echo "$HOME"
/root

# echo "hoge" | sed -e "s|$HOME|hoge|"
hoge

— posted by くま at 11:40 pm   pingTrackBack [0]

CentOS6.4 DVB版によるリアル視聴用スクリプト

使用材料
up0718.zip:mplayer-r34010p(mplayer-patches-0.98使用)
up0799.zip:0014-check-the-decoded-result-of-PCE.patch
up0664.zip:fuse_25
up0219.gz :tune
無加工:kernel:2.6.32-358.6.1.el6.x86_64
     
スクリプトはこんな感じ
#!/bin/csh
echo ""
echo "チャンネルを選んでください"
echo ""
cat /usr/local/zin/CHANNEL
echo ""
set ch = $<
     
/usr/local/bin/tune 4 $ch &
     
sudo gnome-terminal -e "sh -c '/usr/bin/gmplayer -cache 8192 -vo vdpau, -vc ffmpeg12vdpau, -mc 10 /dev/dvb/adapter4/dvr0;exec bash'"
     

参考例:CHANNEL
$ cat /usr/local/zin/CHANNEL
static struct channel isdbt_channels[] = {
{ 14, "NHK盛岡 総合", 479142857 },
{ 37, "NHKR盛岡教育", 617142857 },
{ 18, "テレビ 岩手", 503142857 },
{ 22, "岩手朝日テレビ", 527142857 },
{ 20, "岩手めんこいテレビ", 515142857 },
{ 15, "岩手放送", 485142857 },
};
     
static struct channel isdbs_channels[] = {
{ 1, "NHK BS-1", 1318000, 0x40f1 },
{ 2, "NHK BS-2", 1318000, 0x40f1 },
{ 3, "NHK BS-Hi", 1318000, 0x40f2 },
{ 4, "BS日テレ", 1279640, 0x40d0 },
{ 5, "BS朝日", 1049480, 0x4010 },
{ 6, "BS-i", 1049480, 0x4011 },
{ 7, "BSジャパン", 1087840, 0x4031 },
{ 8, "BSフジ", 1279640, 0x40d1 },
{ 9, "BS11", 1202920, 0x4090 },
{ 10, "TwellV", 1202920, 0x4092 },
{ 11, "WOWOWプライム", 1087840, 0x4030 },
{ 12, "WOWOWライブ", 1126200, 0x4450 },
{ 13, "WOWWOWシネマ", 1126200, 0x4451 },
{ 14, "STAR CHANNEL HV", 1202920, 0x4091 },
{ 15, "STAR CHANNEL1", 1202920, 0x4090 },
{ 16, "STAR CHANNEL2", 1164560, 0x4470 },
{ 17, "BSアニマックス", 1164560, 0x4671 },
{ 18, "Dlife", 1471440, 0x4772 },
}; 
参考サイト
http://mercurial.secret.jp/Whimsical_diary/archives/178

— posted by くま at 11:15 am   pingTrackBack [0]

nautilus-scripts でファイルの所有者を変える( chown)

「ファイルの所有者を変える。」コマンドでは簡単ですが
これをnautilus スクリプトでやろうとすると結構大変でした(笑)
(腕が悪いだけですが)
一番はまったのはファイル自身の名前の変数の取得でした。
色々な見本をdownloadして中身を参考にしましたが動作しない?
結構時間がかかりました。
それとsudoをつかって直接コマンドを実行してもなぜか動作しないため
gnome-terminalを介してコマンド実行という形にしました。
この辺のところでベテランの方の意見が聞きたいです。
   
使い方の簡単な説明:
下のスクリプトを保存して
# chmod +x chown-scripts
# mv ./chown-scripts /home/hoge/.gnome2/nautilus-scripts/
これで終了です。
ファイルを選択−右クリック−スクリプト−chown-scripts で実行すると
所有者、グループが変更できます。
  
$ cat chown-scripts
     
#!/bin/sh
  
USER=hoge
#GROUP=hoge
  
GROUP=groups | sed -r 's/ .*//g'
if [ "$GROUP" == "" ] ; then
GROUP=$USER
fi
for arg
do
#zenity --info --text="$PWD/$arg"
text="$PWD/$arg"
done

#gnome-terminal -e "sh -c 'echo $USER:$GROUP $text;exec bash'"
#gnome-terminal -e "sh -c 'sudo chown $USER:$GROUP $text;exec bash'"

gnome-terminal -e "sh -c 'sudo chown $USER:$GROUP $text'"

exit

— posted by くま at 10:19 am   pingTrackBack [0]

スクリプトcsh とshでtestコマンドの記述が違う

スクリプトを書く時 csh と sh で test コマンドの記述が違うのに
たいていの説明サイトではシェルの説明が無く大変苦労した。
(中間ファイルを一切作らない様にするにも苦労しました。)
たとえば if について
    
#!/bin/csh
if () then
else
endif
    
#!/bin/sh
if [ ]
then
else
fi
    
今回作成したスクリプト
    
#!/bin/sh
    
if [ -d MOUNT-DIR ]
then
echo "MOUNT-DIRが存在、続行します。"
    
#################################
else
echo "無し 新規作成します。"
mkdir MOUNT-DIR
chmod 777 MOUNT-DIR
chown hoge:hoge MOUNT-DIR
echo ""
fi
#################################
    
file11=`ls -l | awk -F"." '{print $2}' | sort | uniq ¥
| sed '/^ *$/d' | grep "iso¥|ISO"`
    
echo "$file11" > /dev/null
    
echo ""
echo "$file11"
echo ""
    
if [ -z `echo $file11` ]
    
then
echo "iso ISOファイル無し"
else
echo "iso ISOファイル存在"
ls -l
echo ""
echo "マウントするイメージを選択してください"
echo ""
read img
echo "$img"
mount -t iso9660 -o loop $img MOUNT-DIR
echo ""
df
echo ""
echo "umount /var/video/DVD/AD/MOUNT-DIR"
echo ""
fi

— posted by くま at 12:11 pm   pingTrackBack [0]

memo

recfriio --b25 B11 - - | mplayer -vo xv -cache 8192 -
wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0027.zip
wget http://2sen.dip.jp/cgi-bin/dtvup/source/up0036.gz
bzip2 -dc up0027.zip | tar xvf -
cd epgdumpr2
zcat ../up0036.gz | patch -p 1
make
wget http://2sen.dip.jp/cgi-bin/friioup/source/up0777.zip

— posted by くま at 06:06 am   pingTrackBack [0]

#!/bin/shの時のif文

#!/bin/sh
echo "選択してください! 102"
read CHANNEL
if [ "$CHANNEL" -eq 102 ];then
echo "同じ"
else
echo "違う"
fi

— posted by くま at 09:07 pm   pingTrackBack [0]

/etc/udev/rules.d/50-udev.rules for friio

#####################################
# Persistent block device stuff - end
#####################################


ACTION=="add", SUBSYSTEM=="usb_device", ¥
PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ¥
NAME="%c", MODE="0666"

— posted by くま at 09:19 pm   pingTrackBack [0]

いたずらには使わないでね...

VNCサーバーの相手先に接続してくれるスクリプト
dig hoge.co.jpの部分に相手先のサーバー名を入れる。
    
#!/bin/sh
    
echo ""
echo "choose 1:root or 2:hoge"
echo ""
read ch
echo $ch
    
case "$ch" in
[1])
echo ""
echo "1: root"
echo ""
#
DATE1=`dig hoge.co.jp | sed '/^$/ d' | grep -v ";" | grep hoge | awk '{print ""$5":1"}'`
#
echo ""
;;
[2])
echo ""
echo "2: hoge"
echo ""
#
DATE1=`dig hoge.co.jp | sed '/^$/ d' | grep -v ";" | grep hoge | awk '{print ""$5":2"}'`
#
echo ""
;;
esac
    
if [ -z $DATE1 ]
then
echo IP未確認状態
echo ""
#
else
echo IP取得状態
echo ""
echo $DATE1 | awk '{print "/usr/bin/vncviewer "$1""}' > /var/tmp/vnc-start
chmod +x /var/tmp/vnc-start
/var/tmp/vnc-start
rm /var/tmp/vnc-start
fi

— posted by くま at 09:02 am   pingTrackBack [0]

掲示板設置スクリプトfor FedoraCore5

http://www.kent-web.com/bbs/yybbs.html
で配布されているものを自鯖に設置するためのスクリプトです。もちろん保証なし。

#!/bin/csh
set dir2 = /home/web/public_html/yybbs
lha x yybbs.lzh
mv ./yybbs /home/web/public_html/
#
nkf -w --overwrite $dir2/yybbs.cgi
nkf -w --overwrite $dir2/regist.cgi
nkf -w --overwrite $dir2/admin.cgi
nkf -w --overwrite $dir2/read.cgi
nkf -w --overwrite $dir2/registkey.cgi
nkf -w --overwrite $dir2/init.cgi
#
nkf -w --overwrite $dir2/lib/form.pl
nkf -w --overwrite $dir2/lib/jcode.pl
nkf -w --overwrite $dir2/lib/list_log_thread.pl
nkf -w --overwrite $dir2/lib/list_log_topic.pl
nkf -w --overwrite $dir2/lib/list_log_tree.pl
nkf -w --overwrite $dir2/lib/registkey.pl
#
sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/yybbs.cgi ¥
> $dir2/yybbs.cgi1
mv -f $dir2/yybbs.cgi1 $dir2/yybbs.cgi

sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/regist.cgi ¥
> $dir2/regist.cgi1
mv -f $dir2/regist.cgi1 $dir2/regist.cgi

sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/admin.cgi ¥
> $dir2/admin.cgi1
mv -f $dir2/admin.cgi1 $dir2/admin.cgi

sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/read.cgi ¥
> $dir2/read.cgi1
mv -f $dir2/read.cgi1 $dir2/read.cgi

sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/registkey.cgi ¥
> $dir2/registkey.cgi1
mv -f $dir2/registkey.cgi1 $dir2/registkey.cgi

#sed 's/¥/usr¥/local¥/bin¥/perl/¥/usr¥/bin¥/perl --/g' $dir2/init.cgi ¥
#> $dir2/init.cgi1
#mv $dir2/init.cgi1 $dir2/init.cgi
#--------------------------------------------

chmod 755 $dir2/yybbs.cgi
chmod 755 $dir2/regist.cgi
chmod 755 $dir2/admin.cgi
chmod 755 $dir2/read.cgi
chmod 755 $dir2/registkey.cgi
#chmod 644 $dir2/init.cgi

#--------------------------------------------
#
chmod 666 $dir2/data/log.cgi
chmod 666 $dir2/data/count.dat
chmod 666 $dir2/data/pastno.dat
#
#
chmod 644 $dir2/lib/jcode.pl
chmod 644 $dir2/lib/registkey.pl
chmod 644 $dir2/lib/form.pl
chmod 644 $dir2/lib/list_log_thread.pl
chmod 644 $dir2/lib/list_log_tree.pl
chmod 644 $dir2/lib/list_log_topic.pl
#--------------------------------------------
unzip system_g.zip
mv ./*.gif $dir2/img/
#--------------------------------------------
chmod -R 707 $dir2/past
chmod 606 $dir2/past/0001.cgi
#--------------------------------------------
sed 's/shift_jis/utf-8/g' $dir2/init.cgi > $dir2/init.cgi1
mv -f $dir2/init.cgi1 $dir2/init.cgi
chmod 644 $dir2/init.cgi

— posted by くま at 12:02 pm   commentComment [1]  pingTrackBack [0]

<< 2024.3 >>
SMTWTFS
     12
3456 7 89
10 11 1213141516
17 1819 20 21 2223
24 25 26 27 2829 30
31      
 
























T: Y: ALL: Online:
ThemePanel
Created in 0.1130 sec.