在shell里寫一個條件判斷語句,去查詢上一條命令執行的結果,如果執行成功則執行下面的語句。
如是上面的命令是一個簡單的命令,就用sleep來控制。這都是常用方法
❷ 如何運行shell腳本
編寫好的shell腳本(如:test),可以採取兩種方式進行運行: 專一、 $ sh test 一般不採用屬這種調用方式,尤其不採用「sh<test」的調用方式,因為這種方式將禁止shell讀取標准輸入。 也可以採用 $ ksh test 這種方式要求shell具有「可讀」的訪問許可權。 二、直接運行可執行的shell腳本之前,首先應使用下列chmod命令,把shell腳本文件設置為可執行的文件。 chmod 755 test(除文件屬主可寫之外,每個用戶均具有讀和可執行的訪問許可權) chmod +rx test(同上) chmod u+rx test(只有文件屬主具有讀和執行的訪問許可權) 按照上述要求設置shell腳本文件的訪問許可權後,可採用下列方式,直接運行shell腳本了。 1、test(如果命令檢索路徑包含當前目錄) 2、./test(如果命令減縮路徑不包含當前目錄) *說明: sh test 方式調用一個shell叫蹦可能會禁止某些shell特定的擴展功能,因而可能引起腳本無法正確執行。
❸ 怎麼在shell里寫腳本並運行
執行「nano function.sh」命令,創建新的shell腳本文件,名字為「function.sh」。
編輯新創建的shell腳本文件「function.sh"。函數必須先定義後使用。
shell腳本的內容如下:
#!/bin/bash
add(){
sum_1=$1;
sum_2=$2;
sum=`expr $sum_1 + $sum_2`;
echo "the sum is ${sum}";
}
add $1 $2
給新創建的function.sh賦可執行許可權,命令為「chmod 755 function.sh」。
使用「./function.sh 1 2」調用腳本,並給腳本傳遞兩個數字。
6
執行命令的結果為「the sum is 3」。
❹ 如何運行shell腳本
編寫好的shell腳本(如:test),可以採取兩種方式進行運行:
一、 $ sh test
一般不採用回這種調用方式答,尤其不採用「sh<test」的調用方式,因為這種方式將禁止shell讀取標准輸入。
也可以採用 $ ksh test
這種方式要求shell具有「可讀」的訪問許可權。
二、直接運行可執行的shell腳本之前,首先應使用下列chmod命令,把shell腳本文件設置為可執行的文件。
chmod 755 test(除文件屬主可寫之外,每個用戶均具有讀和可執行的訪問許可權)
chmod +rx test(同上)
chmod u+rx test(只有文件屬主具有讀和執行的訪問許可權)
按照上述要求設置shell腳本文件的訪問許可權後,可採用下列方式,直接運行shell腳本了。
1、test(如果命令檢索路徑包含當前目錄)
2、./test(如果命令減縮路徑不包含當前目錄)
*說明: sh test 方式調用一個shell叫蹦可能會禁止某些shell特定的擴展功能,因而可能引起腳本無法正確執行。
❺ shell讀取並執行文件
#!/bin/bash
#YourAnswer
#filename:autoCopy.sh
#chmod+xautoCopy.sh
FILENAME=/user1/A.txt
TARGETDIR=/opt
if[-n"$1"]&&[-f$1];then
FILENAME=$1
fi
if[-n"$2"]&&[-d$2];then
TARGETDIR=$2
fi
cat$FILENAME|whilereadline
do
if[-f$line];then
echocp$line$TARGETDIR
cp$line$TARGETDIR
else
echo$lineisnotafile
fi
done
❻ shell腳本怎樣調另一個腳本文件
Shell腳本中引用、調用另一個腳本文件的2種方法
這篇文章主要介紹了Shell腳本中引用、調用另一個腳本文件的2種方法,本文介紹了兩種方法的語法,然後給出實際使用實例和一些要注意的地方,需要的朋友可以參考下
在Java,Python中,可以用import的方式來進行腳本或模塊之間調用,例如:
復制代碼
代碼如下:
>>> import math
>>>
math.sqrt(4)
2.0
在Shell中要如何調用別的shell腳本,或別的腳本中的變數,函數呢?
方法一: . ./subscript.sh
方法二: source ./subscript.sh
注意:
1.兩個點之間,有空格,千萬注意.
2.兩個腳本不在同一目錄,要用絕對路徑
3.為簡單起見,通常用第一種方法
例如:
復制代碼
代碼如下:
main.sh #主腳本
subscripts.sh
#子腳本,或者說被調腳本
[code]
[code]
###subscripts.sh 腳本內容如下:###
#!/bin/bash
string="Hello,World! \n"
復制代碼
代碼如下:
###main.sh 腳本內容如下###
#!/bin/bash
. ./subscripts.sh
echo -e ${string}
exit 0
輸出結果:
復制代碼
代碼如下:
# chmod +x ./main.sh
# ./main.sh
Hello,World!
#
注意:
1.被調腳本可以沒有執行許可權,調用腳本必須有可執行許可權
2.chmod +x ./main.sh
#注意這里要有點,否則bash腳本可能找不到
❼ 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
❽ 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
❾ 怎麼在c語言程序里調用shell腳本文件
system(「這里是你要執行的腳本文件的絕對位置或者相對位置」);
❿ 如何在shell腳本里調用另一個shell腳本
可以將通用抄腳本獲取的結果直接輸出,比如你的通用腳本在/path/to/getDate.sh
內容比如如下:
echo
"2013-02-26"
然後在另外一個腳本里可以這樣獲得它的輸出
Date=`sh
/path/to/getDate.sh`
#
注意這里不是引號,而是反引號就是Esc下面1左邊的鍵
現在Date變數的值就是"2013-02-26"