国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

Shell中eval的用法示例

2020-07-27 19:05:28
字體:
來源:轉載
供稿:網友

功能說明:告知shell取出eval的參數,重新運算求出參數的內容。
語  法:eval [參數]
補充說明:eval可讀取一連串的參數,然后再依參數本身的特性來執行。
參  數:參數不限數目,彼此之間用分號分開。
1.執行命令行之前掃描它兩次,再次運算求出參數的內容。

復制代碼 代碼如下:

[root@localhost blue]# a="ls |more"
[root@localhost blue]# $a                                           #ls

將 | 和 more 看成了參數,而不是將文件按頁顯示
復制代碼 代碼如下:

ls: cannot access |more: No such file or directory
[root@localhost blue]# eval $a                                    #取出

其參數并再次執行它們
復制代碼 代碼如下:

1
1.cpp
2
2.cpp
3
3.cpp
[root@localhost test]# a="123"
[root@localhost test]# echo '${'"a"'}'                        
${a}
[root@localhost test]# eval echo '${'"a"'}'                #再次執行${a}命令
123 

2.eval取得最后一個參數
復制代碼 代碼如下:

[root@localhost blue]# echo 'eval echo /$$#' > last
[root@localhost blue]# cat last
eval echo /$$#
[root@localhost blue]# ./last 1 2 3 4
4

另外其他高級用法后作補充!
eval是對Bash Shell命令行處理規則的靈活應用,進而構造"智能"命令實現復雜的功能。
上面提及的命令是eval其中一個很普通的應用,它重復了1次命令行參數傳遞過程,純粹地執行命令的命令。
其實它是bash的難點,是高級bash程序員的必修之技。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贞丰县| 公安县| 亚东县| 鹿泉市| 青浦区| 巴楚县| 平利县| 屏东市| 永德县| 泗洪县| 中西区| 黄石市| 泾川县| 深州市| 张家川| 福泉市| 衡山县| 大同市| 渑池县| 清河县| 镇坪县| 阳泉市| 政和县| 汉阴县| 九龙城区| 宿迁市| 鄂托克前旗| 信丰县| 泸州市| 托克逊县| 息烽县| 庆城县| 炎陵县| 通河县| 芮城县| 祁门县| 西充县| 博客| 灵寿县| 宽城| 西充县|