亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

檢查 Bash 中是否存在輸入?yún)?shù)的問題

 更新時間:2023年06月15日 09:01:53   作者:跡憶客  
這篇文章主要介紹了檢查 Bash 中是否存在輸入?yún)?shù),通過本文向您展示如何檢查輸入?yún)?shù)是否存在或現(xiàn)有參數(shù)的數(shù)量,需要的朋友可以參考下

當(dāng)我們創(chuàng)建 Bash 腳本時,我們可能希望在我們的腳本中使用參數(shù)來成功運(yùn)行。 因此,我們需要創(chuàng)建一個腳本來檢查用戶在腳本中使用的輸入?yún)?shù)的數(shù)量。

當(dāng)用戶在使用腳本或命令時沒有傳遞所需參數(shù)時,所有這些都可以防止意外行為,然后我們可以傳遞一條錯誤消息,告訴用戶他們沒有使用所需數(shù)量的參數(shù)。

本文將向您展示如何檢查輸入?yún)?shù)是否存在或現(xiàn)有參數(shù)的數(shù)量。

在 Bash 中使用 $# 檢查輸入?yún)?shù)是否存在

在 Bash 中,一個特殊變量 $# 保存輸入?yún)?shù)。 使用 $#,您可以檢查有多少輸入?yún)?shù)已傳遞給 Bash 腳本。

一個簡單的 Bash 腳本將向您顯示此 $# 變量在不帶參數(shù)傳遞或傳遞兩個參數(shù)時的含義。

#!/bin/bash
echo "The number of input arguments passed to this script: "
echo $#

讓我們在沒有輸入?yún)?shù)的情況下運(yùn)行腳本:

$ ./script.sh

終端輸出如下圖:

The number of input arguments passed to this script:
0

現(xiàn)在,讓我們將兩個參數(shù)傳遞給同一個腳本:

$ ./script.sh one two

腳本的輸出如下:

The number of input arguments passed to this script:
2

現(xiàn)在,我們可以在我們的腳本中使用 $# 和一個條件語句來檢查 KaTeX parse error: Expected 'EOF', got '#' at position 1: #? 是否等于零(意味著沒有輸入?yún)?hellip;#` 大于 0,則條件變?yōu)榧?,并?zhí)行條件語句的 else 部分。

#!/bin/bash
if [ $# -eq 0 ]
  then
    echo "No input arguments exist"
    exit 1
else
    echo "The number of input arguments passed:"
    echo $#
fi

讓我們使用以下不帶參數(shù)的命令運(yùn)行腳本:

$ ./script.sh

代碼的輸出:

No input arguments exist

現(xiàn)在,讓我們運(yùn)行一個帶參數(shù)的不同腳本命令:

$ ./script.sh one two

代碼的輸出是不同的,因?yàn)闂l件檢查等于 false:

The number of input arguments passed:
2

除此之外,我們可以使用另一個使用 $[number] 的特殊變量來訪問輸入?yún)?shù)。 這些是我們可以在 Bash 中使用的位置參數(shù)。

如果我們知道我們將獲得三個變量或已經(jīng)確定,我們可以使用下面的代碼訪問這三個變量。

#!/bin/bash
echo "The input arguments are:"
echo $1 $2 $3

當(dāng)傳遞三個參數(shù)時,代碼的輸出將如下所示:

The input arguments are:
one two three

使用 $1 檢查 Bash 中是否存在輸入?yún)?shù)

記住我們在上一節(jié)中討論的位置參數(shù)。 我們可以使用第一個 $1 來檢查是否傳遞了任何輸入?yún)?shù),因?yàn)槿绻麤]有輸入?yún)?shù),則位置參數(shù) $1 中不會有任何值。

因此,我們可以使用 if-else 語句,其中條件表達(dá)式檢查位置參數(shù) $1 中是否存在值。 但是,如果有一個值,它會使用位置參數(shù)回顯輸入?yún)?shù)的數(shù)量和第一個參數(shù)。

#!/bin/bash
if [ -z "$1" ]
  then
    echo "Please, pass an argument"
    exit 1
else
    echo "The number of input arguments are"
    echo $#
    echo "The first one is"
    echo $1
fi

讓我們運(yùn)行不帶參數(shù)的代碼:

$ ./script.sh

腳本的輸出:

Please, pass an argument

現(xiàn)在,讓我們用一些參數(shù)來運(yùn)行它:

$ ./script.sh jiyik stack blog

代碼的輸出:

The number of input arguments are
3
The first one is
jiyik

到此這篇關(guān)于檢查 Bash 中是否存在輸入?yún)?shù)的文章就介紹到這了,更多相關(guān)檢查 Bash 中是否存在參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • linux ls命令教程及l(fā)s命令使用方法

    linux ls命令教程及l(fā)s命令使用方法

    學(xué)習(xí)linux這么久了,最常用的命令莫屬 ls命令了,今天就總結(jié)下ls命令的用法與經(jīng)驗(yàn)技巧。感興趣的朋友一起看看吧
    2017-08-08
  • Shell腳本實(shí)現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具

    Shell腳本實(shí)現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的基于SVN的代碼提交量統(tǒng)計工具,本文直接給出實(shí)現(xiàn)腳本代碼,需要的朋友可以參考下
    2015-06-06
  • Shell腳本判斷用戶的輸入內(nèi)容

    Shell腳本判斷用戶的輸入內(nèi)容

    今天小編就為大家分享一篇關(guān)于Shell腳本判斷用戶的輸入內(nèi)容,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • shell腳本實(shí)現(xiàn)本地文件與服務(wù)器文件同步

    shell腳本實(shí)現(xiàn)本地文件與服務(wù)器文件同步

    這篇文章主要介紹了本地文件與服務(wù)器文件同步shell腳本的方法,然后在文章給大家補(bǔ)充介紹了shell腳本備份本地服務(wù)器的文件到遠(yuǎn)程服務(wù)器的實(shí)例代碼,需要的朋友可以參考下
    2017-11-11
  • linux下批量刪除utf8 bom的實(shí)現(xiàn)方法

    linux下批量刪除utf8 bom的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄猯inux下批量刪除utf8 bom的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Git 常用命令整理

    Git 常用命令整理

    本文主要介紹了Git 命令,這里對Git 常用命令進(jìn)行了整理,在開發(fā)項(xiàng)目過程中足夠用了,有需要的小伙伴可以參考下
    2016-07-07
  • @echo?off的作用詳解

    @echo?off的作用詳解

    本文主要介紹了@echo?off的作用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 通過shell進(jìn)行數(shù)學(xué)運(yùn)算的多種方式

    通過shell進(jìn)行數(shù)學(xué)運(yùn)算的多種方式

    這篇文章主要介紹了通過shell進(jìn)行數(shù)學(xué)運(yùn)算的多種方式、有l(wèi)et命令 、$[]形式、expr命令等,需要的朋友可以參考下
    2014-03-03
  • Linux 日常常用指令及應(yīng)用小結(jié)

    Linux 日常常用指令及應(yīng)用小結(jié)

    最近在學(xué)習(xí)一些基本的Linux指令,在這里總結(jié)一下,在搭環(huán)境中常用的一些指令,熟悉這些指令就基本能夠使用CentOS進(jìn)行日常操作了
    2017-08-08
  • ftp自動上傳腳本分享

    ftp自動上傳腳本分享

    調(diào)試設(shè)備時,往往需要反復(fù)將新編譯的二進(jìn)制通過ftp上傳到目標(biāo)機(jī)的指定目錄下,此工作的重復(fù)性過多,考慮將操作寫為shell腳本
    2014-02-02

最新評論