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

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

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

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

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

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 命令實現 $ 符號嵌套使用的方法。

現有兩個變量:“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í)行結果如下圖所示:

說明:

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

2 說明

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

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

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

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

相關文章

最新評論

曲靖市| 新乐市| 望江县| 皮山县| 张家港市| 区。| 太白县| 长顺县| 璧山县| 大埔县| 平湖市| 上栗县| 临江市| 津南区| 峨眉山市| 卢氏县| 巴林右旗| 宕昌县| 天柱县| 溆浦县| 新巴尔虎右旗| 淳安县| 察雅县| 社旗县| 清水县| 恩平市| 普洱| 台山市| 通州区| 赫章县| 阳曲县| 日照市| 施甸县| 句容市| 麻江县| 黄浦区| 承德市| 郧西县| 岗巴县| 云林县| 文登市|