當前位置:首頁 » 編程軟體 » linux腳本函數

linux腳本函數

發布時間: 2022-12-14 09:11:59

㈠ 在linux 用shell腳本調用c語言的執行文件,用到什麼函數,求大神幫分析一下

c調用shell為system(cmd)
shell調用c執行文件和調用普通的命令一樣,如 ls cd pwd等命令都是c寫的執行文件

㈡ 完成函數與腳本的編寫 Linux編程

#!制/bin/bashsum(){ total=0 for num in `seq $1 $2` do let total+=num done echo $total} read -p "Input number1: " num1read -p "Input number2: " num2if [ $num1 -ge $num2 ]; then echo "Wrong number!" exit 1fisum $num1 $num2exit 0

㈢ 如何寫一個shell腳本在Linux下來運行main函數

這要看你的main函數是什麼語言的了,如果是shell裡面的函數,可以這么寫:
main() {
echo "1234567"
)
echo "start"
main
echo "end"
exit 0

如果是其他語言,那你可以直接調用編譯後的可執行程序:
echo "start"
main
echo "end"
如果有入參,可以在main後面直接寫,用空格分割

那就好說了,首先你得在linux安裝JDK,然後把java_HOME、CLASSPATH和PATH這幾個環境變數設置好,然後把上面的main換成
java 程序,這個程序需要是javac後的

㈣ Linux system 函數

最近工作中在 Linux 下,某些指定的程序需要調用指定的 shell 腳本完成指定工作,以前也曾經做過類似的功能,調用 system 函數執行指定的腳本,以前並不關心 shell 腳本是否執行成功了,現在的功能需要根據 shell 腳本執行成功與否,於是查詢了下 system 函數的說明,有此文以做筆記之用。

功能:調用/bin/sh -c 執行指定的腳本 command

常規使用方法:

關於返回值:

答案是 都錯

man手冊

看著挺暈的,但是如果對於 system 的執行過程了解的話,就很容易理解了,函數執行分為以下幾個階段。
階段1:創建子進程等准備工作。如果失敗,返回-1
階段2:調用 /bin/sh 拉起腳本,如果拉起失敗或者shell未正常執行,原因值被寫入ret中
階段3:如果 shell 腳本執行成功, shell 腳本的返回值寫入ret中

從上面可知,不管 shell 腳本返回什麼值,只要調用了/bin/sh,並且執行過程沒有被信號中斷,都算正常結束。因為腳本是在子進程中執行的,所以要想獲取腳本是否執行成功的方法只能用系統提供的兩個宏。

由於我們一般在 shell 中會通過返回值判斷腳本是否執行成功,成功返回0,成功返回整數。所以判斷一個腳本是否執行成功,應該滿足三個條件:

注意:當 shell 腳本不存在時、沒有執行條件等,前兩個條件也會成立,此時WEXITSTATUS(ret)為127,所以shell腳本中不能將127作為返回值,shell腳本中的異常返回值最好從1開始遞增,成功返回0。

system 用起來,看則簡單,實則不那麼簡單,有很多隱藏的坑,需要自己深入理解原理,才能更好地使用,也可以用其他實現方式完成相同的功能。
最後對自己說,多寫,多思,多總結

㈤ 每天三分鍾搞定linux shell腳本26 函數返回值

函數可以產生返回值,有3個方法。
1)默認情況下是 最後一條語句對應的退出狀態碼
2) return 一個整數值
3)使用 echo語句 指定輸出
針對 方法1 建立如下腳本:

運行後輸出結果為:

針對 方法2 建立腳本:

運行後結果為:

針對 方法3 建立腳本

運行後輸出結果為:

方法3使用echo語句來返回結果,而且 並沒有把這個輸出到stdout 中。

函數返回數組與參數傳遞數組一樣,使用echo語句。舉例如下:

運行後輸出結果為:

㈥ 在linux中怎麼運行腳本函數

1、同一腳本文件中的函數:
#!/bin/sh
function func1()
{
echo $1
}
func1 "Hello world!"

2、其它腳本文件中的函數:
func.sh文件內容如下(其中定義了函數func1,需要1個參數):
#!/bin/sh
function func1()
{
echo $1
}
主程序腳本:
#!/bin/sh
. func.sh
func1 "Hello world!"

㈦ 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"

執行效果如下:

㈧ linux腳本中怎樣在一個文件中調用另一個文件定義的函數

source myFile文件路徑
或者
. myFilw文件路徑

㈨ linux中的if函數怎麼用啊

題主你好,

我這邊把你的代碼敲了一遍, 沒有出現你說的情況.

測試所用代碼:

寫在最後: 題主把你那邊所用的系統以及代碼運行截圖發過來,我看一下.

另外關於shell語法這東西,熟悉了也就好了,你之所以會生氣是因為剛接觸shell,怎麼調都不和你心意,後期基本的語法都玩熟了,也就沒這種想法了。c語言其實也一樣,如果沒人告訴你語法,而是你自己去猜測,去試,碰一鼻子灰的時候也是現在寫shell時的心態.

另外當你熟悉了一門語言後,再去接觸其它語言,尤其是語法差異較大的語言,就會覺得很別扭,都是先入為主的思想弄的,反過來想,如果你一開始接觸的是shell,可能現在就會覺得c很別扭。你現在可能覺得不是這樣的,那是因為你現在會c語言.

所以我想說的是不管是啥語言,不管設計樣,既然要用它,就靜下心來,盤它就對了:)

=====

希望可以幫到題主, 歡迎追問.

㈩ 在linux下shell腳本中if中用到or怎麼寫

linux下shell腳本的邏輯的or用運算符 || 表示,if中用到or的寫法實例如下:

a=10

b=20

if[[$a-lt 50||$b-gt 50]]

then

echo"返回 true"

else

echo"返回 false"

fi

其中$a-lt100表示a<50 為真;$b-gt 50 表示b>50為假;真 or 假為真。

所以輸出結果為:返回 true


(10)linux腳本函數擴展閱讀

1、shell中流程式控制制if基本語法介紹:

if condition

then

command1

command2 ...

commandN

fi


2、shell中的另一個邏輯運算符and (&&)用法實例介紹:

a=10

b=20

if[[$a-lt100&&$b-gt100]]

then

echo"返回 true"

else

echo"返回 false"

fi

輸出結果為:返回 false

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:516
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:20
linux485 發布:2025-07-05 14:38:28 瀏覽:299
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:751
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:427
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:689
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:234
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:681
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:279
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:828