簡體   English   中英

UNIX Shell腳本

[英]UNIX shell scripting

目前我正在研究2代碼:

第一個代碼是向用戶顯示菜單的代碼(start.sh):

#!/bin/sh
echo choose a number :
echo "1.)display place information"
echo "2.)look for first character entered"

read number

case $number in
"1") ./script.sh;;
"2") ./script2.sh;;
esac
exit

script.sh的代碼是:

#!/bin/sh
grep "$1" Place.txt

基本上,運行script.sh時,我需要輸入1個參數,例如./script.sh home ,它與Place.txt中的“ home”一詞匹配。

但是,當我運行“ start.sh”腳本並選擇運行“ script.sh”腳本的數字1時,我無處可輸入參數(主目錄),“ script.sh”代碼將無法運行。

任何建議如何實現?

您可以從start.sh中讀取輸入:

start.sh:

#!/bin/sh
echo choose a number :
echo "1.)display place information"
echo "2.)look for first character entered"

read number

case $number in
"1") echo "Please input argument"; read p; ./script.sh "$p";;
"2") echo "Please input argument"; read p; ./script2.sh "$p";;
esac
exit

或者在script.sh中執行:

script.sh

#!/bin/sh
echo "Please input argument"
read p
grep "$p" Place.txt

只是兩者都不做。

為什么要在一個腳本中同時調用另一個shell腳本?

echo choose a number :
echo "1.)display place information"
echo "2.)look for first character entered"

read number

case $number in
1) read -p "Enter pattern to search: " search
   grep $search file.txt
   ;;
2) ;;
esac
exit

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM