shell腳本函數
Ⅰ 在shell腳本中調用函數,如果函數中使用了$1這樣的參數
是調用這個函數時,傳進去的參數~~~
[root@localhost test]# bash shell.sh
haha
[root@localhost test]# cat shell.sh
#!/bin/bash
function fun {
echo $1
}
fun haha
Ⅱ 如何在shell中實現函數文件import,詳情入內
用自動導入函數的方法,可以在命令行下像執行命令一樣快捷,而且速度快,佔用資源少.
1,建立自己的函數庫
mkdir functionlib
然後將常用的腳本改成函數的語法,如:
function filename { command ; }
將filename拷貝到functionlib中,
2,修改環境文件,在/etc/profile中添加
export FPATH=$HOME/functionlib
3,重登錄一下
這樣的話,你就可以隨時用像ls那樣運行你自己的filename"命令"
而不需要用什麼dot,sh,來運行你的函數/腳本啦~~
如果在腳本中運行,可以在腳本頂部用
#!/bin/sh
##
autoload filename //來自動導入函數.
...
filename //調用函數
Ⅲ linux 腳本怎麼定義子shell能用的函數
看如下示例,可以實現把函數傳遞到子shell中,子shell在linux腳本中使用()實現,即在()中的代碼會在子shell中執行,代碼如下:
#!/bin/bash
#Scriptname:do_square
functionsquare{
localsq#sqislocaltothefunction
let"sq=$1*$1"
echo"Numbertobesquaredis$1."
echo"Theresultis$sq"
}
echo"Givemeanumbertosquare."
readnumber
value_returned=$(square$number)#子shell
echo"$value_returned"
執行效果如下:
Ⅳ shell腳本里的函數怎麼調用
在代碼復用及可維護性方面,函數有著巨大的優勢,因此,把常用功能封裝成函數是一件非常平常的事。shell腳本中,怎麼定義函數及使用函數:
函數定義:
# func_name 函數名
function func_name(){
#函數體內容
}
或
# func_name 函數名
func_name(){
#函數體內容
}
函數調用:
func_name parm
函數體中,可以通過$1 $2 ...$9接受函數調用中的變數
函數可以通過return 返回函數執行的結果
可以通過下面一個簡單例子,來看下在shell腳本中怎麼定義使用函數:
1、在/root/bin目錄下新建函數文件main.fun
vim /root/bin/main.fun
2、在main.fun文件中編寫函數findit內容
#!/bin/sh
function findit(){
if [ $# -lt 1 ] ; then #判斷函數參數個數
echo "Usage: findit filename"
return 1
fi
for loop #遍歷調用函數的參數
do
find $HOME -name $loop -print
done
return 0
}
3、Shell中載入函數文件/root/bin/main.fun
. /root/bin/main.fun
4、檢查載入文件
set
set命令將在shell中顯示所有的載入函數
5、調用函數
findit mysql php #在home 目錄查找文件mysql 和文件php
Ⅳ 在linux 用shell腳本調用C語言的執行文件,用到什麼函數,求大神幫分析一下
c調用shell為system(cmd)
shell調用c執行文件和調用普通的命令一樣,如 ls cd pwd等命令都是c寫的執行文件
Ⅵ shell調用其他腳本函數
使用位置參數:
b.sh裡面這樣寫
#!/bin/bash
basha.sh10020
a.sh里這樣寫
#!/bin/bash
number=$1
number_1=$2
functionfun1(){
echo$1
}
functionfun2(){
echo$1
}
fun1$number
指出幾點問題:
你的原腳本里為什麼fun_get=fun1
這樣做沒什麼意義;
fun2並沒有用到。
Ⅶ shell腳本里的函數怎麼調用
shell中的函數,要在定義這個函數的腳本中進行調用!
#!/bin/sh
echo_line(){
echodate
echo"Wellcometoshellfunc!"
}
echo_hello(){
echo"HelloWorld!"
}
##在這里調用,將全部代碼寫入test.sh就可以了
echo"callecho_hello"
echo_hello
echo"callecho_line"
echo_line
在命令行下執行:
$test.sh
Ⅷ Shell腳本中對函數的調用
可以將
sqlplusoapapp/OAPAPP@ccb_oap<<!
selecttable_name||','||column_name||','||data_type||','||data_lengthfromuser_tab_columnswheretable_name='$tbl_name';
!
這一句改為
sqlplusoapapp/OAPAPP@ccb_oap<<!
selecttable_name||','||column_name||','||data_type||','||data_lengthfromuser_tab_columnswheretable_name='$tbl_name';
!|grep$1
Ⅸ shell中怎麼聲明一個函數
shell聲明一個函數,只需要鍵入以下語法:
function_name () {
list of commands}