逆引きシェルスクリプト/一つのシェルスクリプトで複数のコマンドを作成する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* 一つのシェルスクリプトで複数のコマンドを作成する方法 [#...
一つのシェルスクリプトファイルで複数のコマンドを作成する...
実現方法は、basenameコマンドとシンボリックリンクを使用し...
以下に1つのシェルスクリプトで複数コマンドを作成し実行して...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#p986bd0e]
-[[ディレクトリ文字列を削除しファイル名のみを抽出する方法...
-[[シンボリックリンクの実体のパスを取得する>逆引きUNIXコ...
* 複数のコマンドを実現するサンプルシェルスクリプト [#tefe...
以下に1つのシェルスクリプトで複数のコマンドを実現するシェ...
** サンプルスクリプト [#h46af8b5]
以下の記すように、シェルスクリプト内に複数のfunctionを作...
#ref(funcs.zip)
#!/bin/bash
#------------------------------
# hello
#------------------------------
function hello {
echo "hello"
}
#------------------------------
# konnichiwa
#------------------------------
function konnichiwa {
echo "konnichiwa"
}
#------------------------------
# bye
#------------------------------
function bye {
echo "bye"
}
#------------------------------
# sayonara
#------------------------------
function sayonara {
echo "sayonara"
}
cmd=$(basename $0)
case $cmd in
"hello")
hello;;
"konnichiwa")
konnichiwa;;
"bye")
bye;;
"sayonara")
sayonara;;
*)
exit 0
esac
** シンボリックリンクをfunction名で張る [#oc083fab]
上記のfuncs.shに実行権限を与え、function名でシンボリック...
+ funcs.shファイルが存在するか確認しましmた。
sakura@ubuntu:~$ ls -l
合計 4
-rwxrwxr-x 1 sakura sakura 613 9月 10 23:32 funcs.sh
#br
+ chmodコマンドでfuncs.shに実行権限を与えます。
chmod +x funcs.sh
#br
+ シンボリックリンクをfunction名で張ります
ln -s funcs.sh hello
ln -s funcs.sh konnichiwa
ln -s funcs.sh bye
ln -s funcs.sh sayonara
#br
+ 以下のようになります。
sakura@ubuntu:~$ ls -l
合計 4
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 bye -> func...
-rwxrwxr-x 1 sakura sakura 613 9月 10 23:32 funcs.sh
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 hello -> fu...
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 konnichiwa ...
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 sayonara ->...
** 実際に実行してみます [#of7e5df4]
sakura@ubuntu:~$ ./hello
hello
sakura@ubuntu:~$ ./konnichiwa
konnichiwa
sakura@ubuntu:~$ ./bye
bye
sakura@ubuntu:~$ ./sayonara
sayonara
コマンド名=functionで動作していることが確認できました。
仕組みは簡単で、$0はファイル名になります。~
basenameでディレクトリを除き、ファイル名だけにします。~
ファイル名=functionになるようになっているので、~
シンボリックリンクされたファイル名=functionとなり動作し...
以上、一つのシェルスクリプトのファイルで複数のコマンドを...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* 一つのシェルスクリプトで複数のコマンドを作成する方法 [#...
一つのシェルスクリプトファイルで複数のコマンドを作成する...
実現方法は、basenameコマンドとシンボリックリンクを使用し...
以下に1つのシェルスクリプトで複数コマンドを作成し実行して...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#p986bd0e]
-[[ディレクトリ文字列を削除しファイル名のみを抽出する方法...
-[[シンボリックリンクの実体のパスを取得する>逆引きUNIXコ...
* 複数のコマンドを実現するサンプルシェルスクリプト [#tefe...
以下に1つのシェルスクリプトで複数のコマンドを実現するシェ...
** サンプルスクリプト [#h46af8b5]
以下の記すように、シェルスクリプト内に複数のfunctionを作...
#ref(funcs.zip)
#!/bin/bash
#------------------------------
# hello
#------------------------------
function hello {
echo "hello"
}
#------------------------------
# konnichiwa
#------------------------------
function konnichiwa {
echo "konnichiwa"
}
#------------------------------
# bye
#------------------------------
function bye {
echo "bye"
}
#------------------------------
# sayonara
#------------------------------
function sayonara {
echo "sayonara"
}
cmd=$(basename $0)
case $cmd in
"hello")
hello;;
"konnichiwa")
konnichiwa;;
"bye")
bye;;
"sayonara")
sayonara;;
*)
exit 0
esac
** シンボリックリンクをfunction名で張る [#oc083fab]
上記のfuncs.shに実行権限を与え、function名でシンボリック...
+ funcs.shファイルが存在するか確認しましmた。
sakura@ubuntu:~$ ls -l
合計 4
-rwxrwxr-x 1 sakura sakura 613 9月 10 23:32 funcs.sh
#br
+ chmodコマンドでfuncs.shに実行権限を与えます。
chmod +x funcs.sh
#br
+ シンボリックリンクをfunction名で張ります
ln -s funcs.sh hello
ln -s funcs.sh konnichiwa
ln -s funcs.sh bye
ln -s funcs.sh sayonara
#br
+ 以下のようになります。
sakura@ubuntu:~$ ls -l
合計 4
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 bye -> func...
-rwxrwxr-x 1 sakura sakura 613 9月 10 23:32 funcs.sh
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 hello -> fu...
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 konnichiwa ...
lrwxrwxrwx 1 sakura sakura 8 9月 10 23:41 sayonara ->...
** 実際に実行してみます [#of7e5df4]
sakura@ubuntu:~$ ./hello
hello
sakura@ubuntu:~$ ./konnichiwa
konnichiwa
sakura@ubuntu:~$ ./bye
bye
sakura@ubuntu:~$ ./sayonara
sayonara
コマンド名=functionで動作していることが確認できました。
仕組みは簡単で、$0はファイル名になります。~
basenameでディレクトリを除き、ファイル名だけにします。~
ファイル名=functionになるようになっているので、~
シンボリックリンクされたファイル名=functionとなり動作し...
以上、一つのシェルスクリプトのファイルで複数のコマンドを...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: