linux命令eval的用法講解

1. eval command-line
其中command-line是在終端上鍵入的一條普通命令行。然而當在它前面放上eval時,其結果是shell在執(zhí)行命令行之前掃描它兩次。如:
pipe="|"
eval ls $pipe wc -l
shell第1次掃描命令行時,它替換出pipe的值|,接著eval使它再次掃描命令行,這時shell把|作為管道符號了。
如果變量中包含任何需要shell直接在命令行中看到的字符(不是替換的結果),就可以使用eval。命令行結束符(; | &),I/o重定向符(< >)和引號就屬于對shell具有特殊意義的符號,必須直接出現(xiàn)在命令行中。
2. eval echo \$$# 取得最后一個參數(shù)
如:cat last
eval echo \$$#
./last one two three four
four
第一遍掃描后,shell把反斜杠去掉了。當shell再次掃描該行時,它替換了$4的值,并執(zhí)行echo命令
3.以下示意如何用eval命令創(chuàng)建指向變量的“指針”:
x=100
ptrx=x
eval echo \$$ptrx 指向ptrx,用這里的方法可以理解b中的例子
100 打印100
eval $ptrx=50 將50存到ptrx指向的變量中。
echo $x
50 打印50
相關文章
- chroot命令用來在指定的根目錄下運行指令。chroot即 change root directory (更改 root 目錄)。今天小編將要為大家?guī)淼氖荓inux chroot命令用法詳解!感興趣的朋友一起2017-03-17
- 整理一套入門的運維常用命令,希望喜歡Linux的朋友們更快的熟悉并掌握Linux運維,這里沒有太多理論,有的只是干貨,這里我會把網(wǎng)上看到的、自己平時用到的、和感興趣的都整2017-01-22
在Linux上使用VirtualBox的命令行管理界面的方法講解
VirtualBox擁有一套命令行工具,你可以使用 VirtualBox 的命令行界面 (CLI) 對遠程無界面的服務器上的虛擬機進行管理操作。今天小編將為大家?guī)淼氖窃贚inux上使用VirtualB2017-01-09- LINUX系統(tǒng)怎么使用命令清理磁盤空間?LINUX系統(tǒng)中磁盤空間滿了,想要清除一下,該怎么清理呢?下面我們就來看看linux使用命令清理磁盤空間的教程,需要的朋友可以參考下2016-12-19
- Linux 下 make 命令是系統(tǒng)管理員和程序員用的最頻繁的命令之一。管理員用它通過命令行來編譯和安裝很多開源的工具,程序員用它來管理他們大型復雜的項目編譯問題2016-12-13
- linux常怎么使用命令創(chuàng)建文件和文件夾?linux系統(tǒng)和windows不一樣,創(chuàng)建文件夾需要使用命令,下面我們就來看看linux創(chuàng)建文件和文件夾的教程,需要的朋友可以參考下2016-12-04
- 這篇文章主要介紹了Linux中通過 kill命令 殺死指定進程,需要的朋友可以參考下2016-11-21
Linux Shell 常用命令與目錄分區(qū)的學習總結
很早就想根據(jù)自己的學習規(guī)律和遺忘規(guī)律,自己總結一下Linux/Unix系統(tǒng)的Shell命令,一來便于自己時常查詢之用,二來也分享于各位博友,需要的朋友可以參考下2016-11-21- Linux怎么使用壓縮和解壓到指定目錄的命令?Linux中有文件想要節(jié)假怎么才能使用命令設置解壓到指定的目錄下呢?請看下文詳細介紹,需要的朋友可以參考下2016-11-02