當前位置:首頁 » 編程軟體 » 啟動腳本傳遞參數

啟動腳本傳遞參數

發布時間: 2022-12-09 11:34:21

㈠ 如何傳遞參數給linux shell 腳本(當腳本從標准輸入而不是從文件獲取時)

sh 絕對路徑/xxx.sh 參數1 參數2 參數3........參數n

---------------------------------------------------------------------------------
如果你保存臨時文件的話,可以使用xargs
比如腳本文件為1.sh,而參數保存在args文件中,用一個命令得到參數內容
cat args
那麼最後可以這樣執行
cat args |xargs sh 1.sh

如果不打算保存臨時文件,那你只好在腳本中寫清楚要如何調用,參數有幾個。
比如你使用2.sh調用1.sh,在2.sh 中寫清楚
1.sh $arg1 $arg2這樣就可以了。
當然腳本中的arg1,arg2也可以是最初的第一個腳本調用傳遞進來的,也可以是硬編碼寫死的。

㈡ shell 如何啟動另外一個腳本執行,並傳遞參數

子shell變數傳遞給父shell,中間可以保存個臨時文件讓父shell去讀。
下邊是一個子shell,傳遞給父shell的一個例子,僅做參考
#!/bin/bash
(
subvar="hello shell"
echo "$subvar" > temp.txt
)
read pvar < temp.txt
echo $pvar

㈢ 往shell腳本中傳入參數

參數如下:
$# ----傳遞給程序的總的參數數目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數組成的字元串。
$n ----表示第幾個參數,$1 表示第一個參數,$2 表示第二個參數 ... $0 ----當前程序的名稱
$@----以"參數1" "參數2" ... 形式保存所有參數
$$ ----本程序的(進程ID號)PID
$! ----上一個命令的PID

㈣ shell腳本如何傳遞給子腳本命令行參數

shell腳本如何傳遞給子腳本命令行參數

shell腳本可以使用getops來分析命令行參數,現在的一個使用場景是:

例如:
父腳本:

父腳本處理一個參數-t,如果-t的值是sub,那麼調用sub.sh子腳本,然後把剩下的參數連同重寫的-t參數傳遞給子腳本sub.sh。

子腳本:

子腳本的參數處理就沒啥特殊的 了,和普通的腳本處理命令行參數一樣。

運行例子:

限制:

㈤ 如何向expect腳本裡面傳遞參數

expect是一個用來實現自動交互功能的工具,使用expect-send來實現交互過程。腳本的執行方法與bash shell不一樣,如:expect example.sh

向一個腳本傳遞參數,bash shell是使用$1,$2...來接收參數的,而epxect則將腳本的執行參數保存在數組$argv中,在腳本中一般將其賦值給變數:set 變數名 [lindex $argv 參數]

實例:
寫一個自動登陸遠程主機的腳本,通過參數傳遞主機名,帳戶,密碼
1)編寫腳本
#!/usr/bin/expect
set ip [lindex $argv 0]
set username [lindex $argv 1]
set passwd [lindex $argv 2]
spawn ssh -l $username $ip
expect {
"yes/no" { send "yes\r";exp_continue }
"password:" { send "$passwd\r" }
}
#expect eof
interact

注意:若登陸後便退出遠程終端,則寫expect eof即可。

2)執行腳本
expect autologin.sh 172.24.6.29 root redhat

㈥ 如何給shell腳本傳參數

from:Linux命令行與shell腳本編程大全.第3版

向shell腳本傳遞數據的最基本方法是使用命令行參數。命令行參數允許在運行腳本時向命令行添加數據。
$ ./addem 10 30
本例向腳本addem傳遞了兩個命令行參數( 10和30)。腳本會通過特殊的變數來處理命令行參數。

下面是在shell腳本中使用單個命令行參數的簡單例子。

$cattest1.sh
#!/bin/bash
#usingonecommandlineparameter
#
factorial=1
for((number=1;number<=$1;number++))
do
factorial=$[$factorial*$number]
done
echoThefactorialof$1is$factorial
$
$./test1.sh5
Thefactorialof5is120
$


㈦ linux 調用腳本怎麼傳腳本參數

Linux shell腳本開始執行時,系統會初始化一些腳本的環境變數和參數變數,這些變數是可以直接使用的,下面是一些參數變數:
$1,$2,$3......:代表腳本程序的參數,腳本有幾個參數數字就到幾;
那$0代表什麼呢?當然是腳本的名字了
還有和腳本參數有關的一個腳本環境變數:$#
它代表傳遞給腳本的參數個數。
知道了這些,你就可以在你編寫的腳本內編寫處理腳本參數的代碼,一旦你的腳本有了對參數的處理,你就可以這樣調用有參數的腳本:
./腳本名 參數1 參數2......
參數和腳本名、參數和參數之間用空格分開,和使用shell命令的格式是一樣的。

sqlplus 執行腳本文件時如何傳參數

d:\test.sql腳本如下:
[sql] view plain
select &1 from &2;
exit;

執行時這樣傳參數:sqlplus "scott/tiger@test" @d:\test.sql sysdate al
注意:參數必須用&[1-9]表示,不然傳不進去,會提示讓手動輸入參數
[sql] view plain
C:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al

D:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al

SQL*Plus: Release 11.2.0.1.0 Proction on 星期二 11月 1 21:59:00 2011

Copyright (c) 1982, 2010, Oracle. All rights reserved.

連接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options

原值 1: select &1 from &2
新值 1: select sysdate from al

SYSDATE
--------------
01-11月-11

從 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options 斷


D:\>

如果腳本中有重復用到相同的值,如果&1=&2:
d:\tes2.sql
[sql] view plain
delete scott.emp where no=&1 or deptno=&2;
commit;

執行時,就必須傳2個參數:
[sql] view plain
sqlplus "scott/tiger@test" @d:\test2.sql 10 10

小竅門: 這時用procere就可以不用傳多個相同的參數,則只用傳1個參數:
d:\test3.sql
[sql] view plain
declare
var_no number:=&1;
begin
delete scott.emp where no=var_no or deptno=var_no;
commit;
end;

sqlplus "scott/tiger@test" @d:\test3.sql 10

㈨ linux shell腳本調用參數傳遞

三個選擇:
1)把參數寫進腳本,運行腳本時不帶參數。
2)使用互動式方法,運行時提示讓用戶手動輸入這些信息。
3)搜索「linux 隱藏進程」。

如果你的用戶名密碼是用於登錄的話,改用密鑰好了:
http://..com/question/324853297.html

㈩ 如何給shell腳本傳參數

方法/步驟

執行「nano test.sh」創建一個新的shell腳本。

腳本test.sh的內容如下:
#!/bin/sh

name=$1

echo "the ${name} are great man!"

給新創建的test.sh的腳本賦可執行許可權,命令為「chmod 755 test.sh」。

執行'./test.sh "xiao wang"'命令,可以看到自己編寫腳本的結果「the xiao wang are great man!」。

"name=$1"中$1為系統提供的位置參數,$0代表程序的名稱,[$1/$2/...]從1開始為傳遞的參數。
linux系統除了提供位置參數還提供內置參數,內置參數如下:
$# ----傳遞給程序的總的參數數目
$? ----上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。
$* ----傳遞給程序的所有參數組成的字元串。
$n ----表示第幾個參數,$1 表示第一個參數,$2 表示第二個參數 ... $0 ----當前程序的名稱
$@----以"參數1" "參數2" ... 形式保存所有參數
$$ ----本程序的(進程ID號)PID
$! ----上一個命令的PID

熱點內容
配置文件ini如何寫 發布:2024-03-29 17:31:05 瀏覽:997
如何更改微信密碼修改 發布:2024-03-29 17:24:49 瀏覽:588
探影哪個配置性價比最高 發布:2024-03-29 17:24:08 瀏覽:485
phpmyadminlinux安裝 發布:2024-03-29 17:13:15 瀏覽:792
python中replace 發布:2024-03-29 17:08:17 瀏覽:652
mdb導入sql 發布:2024-03-29 17:07:36 瀏覽:128
java資料庫工具類 發布:2024-03-29 16:31:15 瀏覽:388
安卓機哪裡看型號 發布:2024-03-29 15:59:40 瀏覽:281
cad解壓錯誤 發布:2024-03-29 15:01:45 瀏覽:79
存儲指令集 發布:2024-03-29 14:39:27 瀏覽:649