這個命令之前沒有用過,在網上查了一下資料,覺得人家寫的很好,所以複製過來了。
語法:eval cmdline
eval會對後面的cmdline進行兩遍掃瞄,如果在第一遍掃面後cmdline是乙個普通命令,則執行此命令;如果cmdline中含有變數的間接引用,則保證簡介引用的語義。
舉例如下:
set 11 22 33 44
如果要輸出最近乙個引數,即44,可以使用如下命令,
echo $4
但是如果我們不知道是幾個引數的時候,要輸出最後乙個引數,大家可能會想到使用$#來輸出最後乙個引數,
如果使用命令:
echo "\$$#"
則得到的結果是$4,而不是我們想要的44.這裡涉及到乙個變數簡介引用的問題,我們的本意是輸出$4,預設情況下,命令後忽略變數簡介引用的情況。
這時候,就可以使用eval命令。
eval echo "\$$#"
得到結果為44.
這個命令之前沒有用過,在網上查了一下資料,覺得人家寫的很好,所以複製過來了。
語法:eval cmdline
eval會對後面的cmdline進行兩遍掃瞄,如果在第一遍掃面後cmdline是乙個普通命令,則執行此命令;如果cmdline中含有變數的間接引用,則保證簡介引用的語義。
舉例如下:
set 11 22 33 44
如果要輸出最近乙個引數,即44,可以使用如下命令,
echo $4
但是如果我們不知道是幾個引數的時候,要輸出最後乙個引數,大家可能會想到使用$#來輸出最後乙個引數,
如果使用命令:
echo "\$$#"
則得到的結果是$4,而不是我們想要的44.這裡涉及到乙個變數簡介引用的問題,我們的本意是輸出$4,預設情況下,命令後忽略變數簡介引用的情況。
這時候,就可以使用eval命令。
eval echo "\$$#"
得到結果為44.
linux命令eval的用法
1.eval command line 其中 command line 是在終端上鍵入的一條普通命令列。然而當在它前面放上 eval 時,其結果是 shell 在執行命令列之前掃瞄它兩次。如 pipe eval ls pipe wc l shell第1 次掃瞄命令行時,它替換出 pipe 的值 接著...
linux命令eval的用法
1.eval command line 其中command line是在終端上鍵入的一條普通命令列。然而當在它前面放上eval時,其結果是shell在執行命令列之前掃瞄它兩次。如 pipe eval ls pipe wc l shell第1次掃瞄命令行時,它替換出pipe的值 接著eval使它再次掃...
PyTorch裡eval和no grad的關係
首先這兩者有著本質上區別。model.eval 是用來告知model內的各個layer採取eval模式工作。這個操作主要是應對諸如dropout和batchnorm這些在訓練模式下需要採取不同操作的特殊layer。訓練和測試的時候都可以開啟。torch.no grad 則是告知自動求導引擎不要進行求...