[ カテゴリー » Linux スクリプト ]
rpm を使いこなす道具_2
2014/4/11
# 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'
----省略----
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 TrackBack [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
#!/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 TrackBack [0]
Redhat系でのmpd起動スクリプト
2014/1/24
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}'
#!/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 TrackBack [0]
HD ハードディスク情報の取得基本スクリプト
2013/9/21
#!/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がどれか?分からなくなるので作りました。
マルチブートにすると間違いが命取りになります。
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 TrackBack [0]
sedの置換文字に変数を使用したい
2013/9/17
例題はこんな感じ.../ではなくて|を使うのがミソ
# echo "$HOME"
/root
# echo "hoge" | sed -e "s|$HOME|hoge|"
hoge
# echo "$HOME"
/root
# echo "hoge" | sed -e "s|$HOME|hoge|"
hoge
— posted by くま at 11:40 pm TrackBack [0]
CentOS6.4 DVB版によるリアル視聴用スクリプト
2013/7/29
使用材料
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
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 TrackBack [0]
nautilus-scripts でファイルの所有者を変える( chown)
2013/6/27
「ファイルの所有者を変える。」コマンドでは簡単ですが
これを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
これを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 TrackBack [0]
スクリプトcsh とshでtestコマンドの記述が違う
2013/6/21
スクリプトを書く時 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
たいていの説明サイトではシェルの説明が無く大変苦労した。
(中間ファイルを一切作らない様にするにも苦労しました。)
たとえば 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 TrackBack [0]
memo
2009/8/10
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
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 TrackBack [0]
#!/bin/shの時のif文
2009/5/31
#!/bin/sh
echo "選択してください! 102"
read CHANNEL
if [ "$CHANNEL" -eq 102 ];then
echo "同じ"
else
echo "違う"
fi
echo "選択してください! 102"
read CHANNEL
if [ "$CHANNEL" -eq 102 ];then
echo "同じ"
else
echo "違う"
fi
— posted by くま at 09:07 pm TrackBack [0]
Comments