/ 雑記帳

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

rpm を使いこなす道具_2

# vi .bashrc
       
----省略----
alias rrb='rpmbuild --rebuild'
alias pacoinstall='paco -lD make install'
alias yump='yum provides'
alias yumie=' yum install --enablerepo'
alias yumue=' yum update --enablerepo'

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

 

rpm を使いこなす道具_1

このスクリプトを使うとインストールしたパッケージを検索し易い。
       
#!/bin/csh

set list1=$PWD/centos`uname -r`-`date +%Y-%m-%d`.lst
#
if ( -e $list1 ) then
echo "リストが存在、続行します。"
else
case2:
echo "####################"
echo "# リスト作成中.... #"
echo "####################"
rpm -qa --last > $list1
endif
echo ""
#
case1:
echo ""
echo "このリストで良いですか?"
echo "*************************************************"
head $list1
echo "*************************************************"
echo ""
echo "y or n ?"
set yn = $<
if ( "$yn" == n ) then
rm -i $list1
goto case2
else
#exit
#endif
echo ""
echo "What rpm-Packege-name Key-Word"
echo ""
set key = $<
echo ""
echo "*************************************************"
grep $key $list1 | sort
echo "**************************************************"
echo ""
#
echo ""
echo "続けますか?"
echo "y or n ?"
set yn = $<
if ( "$yn" == y ) then
goto case1
else
exit
endif

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

Redhat系でのmpd起動スクリプト

Redhat系でのmpd起動スクリプトです。サウンドカードかUSBを選択して起動します。

#!/bin/sh

POINT=`ps aux | grep mpd | grep mpd.conf | grep -v "grep" | ¥
awk '{print $12}' | sed 's/¥/etc¥///g' | awk -F"." '{print $1}'`
#
if [ -z $POINT ]
then
echo "停止中"
echo ""
echo "$POINT"
#
else
echo ""
echo "起動中 終了します。"
ps aux | grep mpd | grep mpd.conf | grep -v "grep"
echo ""
#
exit
fi
#############################
echo ""
echo "Choose 1:USB or 2:M-Audio"
echo ""
read ch
#echo $ch

case "$ch" in
[1])
echo ""
echo "1: USB"
mpd /etc/mpd2.conf
echo ""
#
;;
[2])
echo ""
echo "2: M-Audio"
mpd /etc/mpd.conf
echo ""
#
echo ""
;;
esac
echo "終了しました!"
ps aux | grep mpd | grep mpd.conf | grep -v "grep" | awk '{print $12}' | sed 's/¥/etc¥///g' | awk -F"." '{print $1}'
ps aux | grep mpd | grep mpd2.conf | grep -v "grep" | awk '{print $12}' | sed 's/¥/etc¥///g' | awk -F"." '{print $1}'

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

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]

<< 2024.4 >>
SMTWTFS
 1 2 34 56
7 8910 1112 13
1415 161718 1920
21 222324 2526 27
28 2930    
 
























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