linux下set和eval的使用小案例精彩解答

2021-09-11 19:55:35 字數 886 閱讀 7616

set 和eval的用法比較特殊,後期課程慢慢的給大家滲透,現在是學習的剛剛開始啊。

[root@oldboy ~]# set -- "i am" handsome oldboy. #==>傳入三個引數

[root@oldboy ~]#

[root@oldboy ~]# echo $# #==>現在有三個引數

3[root@oldboy ~]# for i in $*;do echo $i;done #==>迴圈列印這些引數,用$*,無引號iam

handsome

oldboy.

[root@oldboy ~]# for i in $@;do echo $i;done #==>在沒有雙引號的情況下,這裡的結果$*和$@是一樣的iam

handsome

oldboy.

[root@oldboy ~]# for i;do echo $i;done #==>去掉in變數列表,去掉in變數列表,相當於in "$@"

i am

handsome

oldboy.

[root@oldboy ~]# for i in "$@";do echo $i;done #==>在有雙引號情況下,引號內容當做乙個引數輸出了

i am

handsome

oldboy.

[root@oldboy ~]# for i in "$*";do echo $i;done #==>整個當成乙個引數

i am handsome oldboy.

[root@oldboy ~]# shift #==>去掉第乙個引數

[root@oldboy ~]# echo $#==>去掉第乙個引數

[root@oldboy ~]# 2

linux下set和eval的使用小案例精彩解答

linux下set和eval的使用小案例解答 本博文主要是講解學生提出的如下一行命令指令碼定義的真正內涵 runlevel set runlevel eval echo 以下是老男孩培訓14期vip群內的對話解答記錄,內容已做過濾,有的以前反映過,說老男孩發的記錄時間對不上,其實老男孩只是以對話問答...

Linux下的eval以及和 ,

假設cmd echo 33 eval cmd 等價於 echo 33 其實相當是先讓後邊的變數先執行,再執行其結果 同時這些需要進行兩次掃瞄的變數有時候被稱為複雜變數。同時在shell指令碼中還有等價的兩條命令 都是做命令替換的,和上面變數替換差不多 都是用來重組命令列的,先完成引號裡的命令列,然後...

Linux 和 的區別以及調研 eval命令

一.首先 和 1.相同點 都具有命令帶環的作用 2.不同點 a.中的 s或者並不能對 進行在轉義,意思就 是 還具有 其本身的意義 但是 中 s能對 進行轉義 b.中的 s或者能對 進行 轉義,意思就是經過轉義 具有其 本身的意義 但是 中的 s不能 對 進行轉義 總結起來就是 中要用 到兩個 才能...