最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本中$符號的嵌套使用方法小結(jié)

 更新時間:2023年05月06日 10:02:13   作者:liitdar  
在編寫Shell腳本時,通過嵌套使用$符號,間接獲取變量或表達式的值的具體方法,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文主要介紹在編寫 Shell 腳本時,通過嵌套使用 $ 符號,間接獲取變量或表達式的值的具體方法。

先說結(jié)論,在 Shell 腳本中,可以通過使用 eval 命令來實現(xiàn) $ 符號的嵌套使用。

Man 手冊中對于 eval 命令的解釋如下:

eval [arg ...]
    The args are read and concatenated together into a single command. This command is then read and executed by the shell, and its exit status is returned as the value of eval. If there are no args, or only null arguments, eval returns 0.

1 示例

下面通過一個示例來展示通過 eval 命令實現(xiàn) $ 符號嵌套使用的方法。

現(xiàn)有兩個變量:“l_stream_file_index”的值為“1”,“SOURCE_FILE_1”的值為“demo.mp4”,如下圖所示:

此時,為了通過變量“l_stream_file_index”間接獲取到“SOURCE_FILE_1”的值,就要嵌套使用 $ 符號,但是直接嵌套使用 $ 符號時會報錯,如下圖所示:

此時,就可以通過 eval 命令解決上述問題了。在本例中,使用 eval 命令的最終命令如下:

eval echo '${SOURCE_FILE_'"${l_stream_file_index}"'}'

上述命令執(zhí)行結(jié)果如下圖所示:

說明:

  • eval 命令會將后接命令中的參數(shù)先替換為對應(yīng)的值,然后再進行最終的命令執(zhí)行操作;
  • 在使用 eval 命令時,需要注意單引號''和雙引號""的區(qū)別。在上面的示例中,eval 先將雙引號中的變量進行了替換。

2 說明

在 Shell 腳本中嵌套使用 $ 符號時,需要特別謹慎小心,因為這種使用方式容易引起一些奇怪的錯誤。

例如,在下面的示例中,就會報錯文件不存在,但實際上文件是存在的,如下圖所示:

上圖中的報錯讓人費解,不過肯定是因為嵌套使用 $ 符號導致的,根據(jù)本文前面介紹的內(nèi)容,此時通過 eval 命令修飾該條語句,問題就解決了,如下圖所示:

到此這篇關(guān)于Shell腳本中$符號的嵌套使用方法小結(jié)的文章就介紹到這了,更多相關(guān)Shell $符號嵌套使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

吴江市| 玉屏| 定远县| 互助| 普兰店市| 绥棱县| 襄城县| 湄潭县| 山东省| 吉林市| 阳高县| 信阳市| 绥化市| 安岳县| 望城县| 宜君县| 灵璧县| 兴山县| 金堂县| 汾阳市| 静乐县| 卢氏县| 宜丰县| 松原市| 澳门| 吉木乃县| 芦溪县| 绥宁县| 余江县| 垣曲县| 克山县| 苍梧县| 哈密市| 博爱县| 舟山市| 新蔡县| 平邑县| 金川县| 仁怀市| 商河县| 涟源市|