/ 雑記帳

[ カテゴリー » 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   commentComment [0]  pingTrackBack [0]

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

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

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

— posted by くま at 11:40 pm   commentComment [0]  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   commentComment [0]  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   commentComment [0]  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   commentComment [0]  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   commentComment [0]  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   commentComment [0]  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   commentComment [0]  pingTrackBack [0]

<< 2021.4 >>
SMTWTFS
    1 23
4 567 8 9 10
11121314151617
18 19 2021222324
252627282930 
 










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