Shell 單引號裡引用變數

2021-10-03 14:36:17 字數 701 閱讀 4746

最近在kaldi裡試圖輸出n-best的每乙個sentence的文字還有聲學模型以及語言模型的分數,但是在使用shell命令的時候,發現單引號裡的變數無法引用

s5=/data3/ots_use_libri_asr001_003/s5

exp=exp/nnet2_online/nnet_a_online

graph=graph_tgsmall

num=1

nbest-to-linear ark:nbest.$num ark,t:$num.ali 'ark,t:|$/utils/int2sym.pl -f 2- $/$/$/words.txt > $.tra' ark,t:$num.lm ark,t:$num.ac

因為還是shell弱雞,所以搜了一下,發現把變數再放入一對單引號裡就可以了。於是就改了一下:

nbest-to-linear ark:nbest.$num ark,t:$num.ali 'ark,t:|'

$'/utils/int2sym.pl -f 2- '

$/$/$

'/words.txt > '

$'.tra' ark,t:$num.lm ark,t:$num.ac

但是如果再仔細看一下,這個背後的到裡其實並不是把變數放入一對單引號,而是把變數放在兩對單引號中間了,並不是在單引號裡面引用,任何是單引號之外引用以後拼接的。

shell中單引號,雙引號,變數

variable value variable value variable value url website1 c語言中文網 website2 c語言中文網 echo website1 echo website2 執行結果 c語言中文網 c語言中文網 以單引號 包圍變數的值時,單引號裡面是什麼就...

shell中的引號,單引號,反引號

引號 在shell中引號分為三種 單引號,雙引號和反引號。單引號 由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。例如 string path echo string path 可見 保持了其本身的含義,作為普通字元出現。雙引號 由雙引號括...

shell中單引號 雙引號 反引號

一 單引號和雙引號 首先,單引號和雙引號,都是為了解決中間有空格的問題。因為空格在linux中時作為乙個很典型的分隔符,比如string1 this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單引號將剝奪其中的所有字元的特殊含義,而雙引號中...