国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux【腳本 05】交互式shell腳本編寫及問題處理([: ==: unary operator expected)[: ==: 期待一元表達式

這篇具有很好參考價值的文章主要介紹了Linux【腳本 05】交互式shell腳本編寫及問題處理([: ==: unary operator expected)[: ==: 期待一元表達式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.原因

之前寫了Windows的cmd腳本用來保存報告文件:

@echo off

cd
cd ./curl/bin
set /p exampleUrlHost=請輸入服務的IP地址:
set /p exampleUrlPort=請輸入服務的端口:

:start
echo **********************報告保存腳本**********************
echo 根據(jù)以下提示執(zhí)行
echo 0 退出
echo 1 保存年度報告
echo 2 保存月度報告
echo 3 保存當天報告

set /p exampleUrlIndex=請輸入要保存的結果序號:
if %exampleUrlIndex% == 1 (
set exampleUrlPath=/example/exampleYear
)
if %exampleUrlIndex% == 2 (
set exampleUrlPath=/example/exampleMonth
)
if %exampleUrlIndex% == 3 (
set exampleUrlPath=/example/exampleDay
)
if %exampleUrlIndex% == 0 (
exit
)

echo 正在保存...
curl http://%exampleUrlHost%:%exampleUrlPort%%exampleUrlPath%
echo 保存完成。

goto start

但是有時候服務僅在Linux環(huán)境上進行部署,所以要寫一個shell腳本進行報告的保存。

2.Shell腳本

2.1 初始版本

簡單的參數(shù)判斷,這里只給出一個分支,腳本save.sh內容如下:

#!/bin/bash
if 	[ $1 == 1 ]; then
    echo 正在保存年度報告...
	curl http://exampleUrlHost:exampleUrlPort/example/exampleYear
	echo 保存完成。
else
    echo "腳本請帶參數(shù)"
    echo "1 保存年度報告"
fi

此時如果執(zhí)行腳本時沒有攜帶參數(shù),將會報錯:

./save.sh: line 2: [: ==: unary operator expected

這個腳本的問題很多exampleUrlHost和exampleUrlPort都是固定的,有些時候需要修改后才能正確執(zhí)行。

2.2 交互式 case 腳本

#!/bin/bash
echo "請輸入服務的IP地址:"
read exampleUrlHost
echo "請輸入服務的端口號:"
read exampleUrlPort

echo "請選擇您的操作:"
echo "1 保存年度報告"
echo "2 保存月度報告"
echo "3 保存當天報告"
echo "4 退出"

read choice
case $choice in
  1)
    echo 正在保存年度報告...
	curl http://$exampleUrlHost:$exampleUrlPort/example/exampleYear
	echo 保存完成。
    ;;
  2)
    echo 正在保存月度報告...
	curl http://$exampleUrlHost:$exampleUrlPort/example/exampleMonth
	echo 保存完成。
    ;;
  3)
    echo 正在保存當天報告...
	curl http://$exampleUrlHost:$exampleUrlPort/example/exampleDay
	echo 保存完成。
    ;;
  4)
    exit 0
    ;;
  *)
    echo "無效的選項!"
    ;;
esac

這個版本不僅不報錯,似乎體驗還是可以的,但是想導出多個報告就要多次輸入IP和端口號,比較麻煩。

2.3 最終 while case 版

#!/bin/bash
echo "請輸入服務的IP地址:"
read exampleUrlHost
echo "請輸入服務的端口號:"
read exampleUrlPort

while true; do

	echo "請選擇您的操作:"
	echo "1 保存年度報告"
	echo "2 保存月度報告"
	echo "3 保存當天報告"
	echo "4 退出"
	
	read choice
	
	case $choice in
	1)
		echo 正在保存年度報告...
		curl http://$exampleUrlHost:$exampleUrlPort/example/exampleYear
		echo 保存完成。
		;;
	2)
		echo 正在保存月度報告...
		curl http://$exampleUrlHost:$exampleUrlPort/example/exampleMonth
		echo 保存完成。
		;;
	3)
		echo 正在保存當天報告...
		curl http://$exampleUrlHost:$exampleUrlPort/example/exampleDay
		echo 保存完成。
		;;
	4)
		break  
		;;
	*)
		echo "無效的選項!"
		;;
	esac
done

3.總結

簡單的版本也是可以實現(xiàn)功能的,但是執(zhí)行前要進行腳本的調整。文章來源地址http://www.zghlxwxcb.cn/news/detail-494235.html

到了這里,關于Linux【腳本 05】交互式shell腳本編寫及問題處理([: ==: unary operator expected)[: ==: 期待一元表達式的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • windows彈出交互式服務檢測一鍵取消bat腳本

    windows彈出交互式服務檢測一鍵取消bat腳本

    新建一個bat文件,將下面的腳本拷貝進去,保存,雙擊即可 禁用服務:重啟電腦的時候不會啟動 停止服務:立即停止服務,馬上生效的

    2024年02月09日
    瀏覽(20)
  • Jupyter Notebook交互式繪圖不顯示問題

    Jupyter Notebook交互式繪圖不顯示問題

    今天在Jupyter Notebook執(zhí)行吳恩達機器學習-可視化舉例( C1_W1_Lab04_Cost_function_Soln )的代碼時,plt_intuition和soup_bowl函數(shù)對應的圖形不顯示。 解決辦法: 在程序中加一行代碼 如下圖所示:

    2024年02月14日
    瀏覽(15)
  • Linux中用于自動化交互式程序的工具!expect

    expect 是一個用于自動化交互式程序的工具,它可以模擬用戶輸入和接收程序的輸出。它通常與Tcl腳本一起使用,但也可以與其他腳本語言一起使用。 expect 的主要功能是等待特定的字符串或正則表達式出現(xiàn),然后執(zhí)行相應的操作。 expect的基本語法如下: 參數(shù)說明: 代碼塊案

    2024年01月16日
    瀏覽(27)
  • 【linux命令講解大全】150.smbclient:交互式訪問samba服務器的命令行工具

    交互方式訪問samba服務器 補充說明 smbclient 命令屬于samba套件,它提供一種命令行使用交互式方式訪問samba服務器的共享資源。 語法 選項 -B ip地址 :傳送廣播數(shù)據(jù)包時所用的IP地址; -d 排錯層級 :指定記錄文件所記載事件的詳細程度; -E :將信息送到標準錯誤輸出設備;

    2024年02月03日
    瀏覽(34)
  • 人機交互學習-5 交互式系統(tǒng)的需求

    人機交互學習-5 交互式系統(tǒng)的需求

    關于目標產(chǎn)品的一種陳述,它指定了產(chǎn)品應做什么,或者應如何工作 應該是具體、明確和無歧義的 搜集數(shù)據(jù) 解釋數(shù)據(jù) 提取需求 注:了解 功能不同 智能冰箱:應能夠提示黃油已用完 字處理器:系統(tǒng)應支持多種格式 物理條件不同 移動設備運行的系統(tǒng)應盡可能小,屏幕顯示限

    2024年02月09日
    瀏覽(27)
  • 人機交互學習-6 交互式系統(tǒng)的設計

    人機交互學習-6 交互式系統(tǒng)的設計

    Allan Cooper建議不要過早地把重點放在小細節(jié)、小部件和精細的交互上會妨礙產(chǎn)品的設計,應先站在一個高層次上關注用戶界面和相關行為的整體結構 Allan Cooper提出的交互框架不僅 定義了高層次的屏幕布局 ,同時定義了 產(chǎn)品的工作流、行為和組織 。它包括了6個主要步驟:

    2024年02月09日
    瀏覽(19)
  • Pyspark交互式編程

    Pyspark交互式編程 有該數(shù)據(jù)集Data01.txt 該數(shù)據(jù)集包含了某大學計算機系的成績,數(shù)據(jù)格式如下所示: 根據(jù)給定的數(shù)據(jù)集,在pyspark中通過編程來完成以下內容: 該系總共有多少學生; (提前啟動好pyspark) 該系共開設了多少門課程; Tom同學的總成績平均分是多少; 求每名同學的

    2023年04月08日
    瀏覽(33)
  • 構建一個動態(tài)交互式圖表

    在Web開發(fā)中,JavaScript不僅是實現(xiàn)交互效果的關鍵,還可以用于構建復雜的可視化組件,如動態(tài)交互式圖表。在本篇博客中,我將演示如何使用JavaScript和HTML5的Canvas元素來創(chuàng)建一個簡單的動態(tài)條形圖。 HTML結構 ?首先,我們需要一個HTML結構來容納我們的圖表。 JavaScript實現(xiàn) 接下

    2024年02月20日
    瀏覽(30)
  • 【非交互式零知識證明】(下)

    【非交互式零知識證明】(下)

    繼續(xù)上一節(jié)的內容,我們首先再回顧一下經(jīng)典交互式零知識證明。 交互式零知識證明的一般模型如下: (1)證明者和驗證者共享一個公共輸入,證明者可能擁有某個秘密輸入; (2)如果驗證者認可證明者的響應,則輸出Accept,否則輸出Reject。 經(jīng)典交互式零知識證明除了應

    2024年02月04日
    瀏覽(26)
  • Android2:構建交互式應用

    Android2:構建交互式應用

    一。創(chuàng)建項目 項目名 Beer Adviser 二。更新布局 activity_main.xml 三。增加資源 strings.xml 四。響應點擊 MainActivity.kt 知識點:

    2024年02月12日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包