此問題涉及Linux中的tcsh腳本。假設我想讓用戶輸入用戶名和密碼,然後讓腳本檢查它們。如果用戶在他的密碼中有一個大括號{},則該腳本根本不起作用:使用大括號{作爲tcsh Linux腳本的輸入
Missing}。
有沒有辦法解決這個問題?無論如何,是否有辦法啓動腳本,以便從內部處理花括號?
謝謝,保利
此問題涉及Linux中的tcsh腳本。假設我想讓用戶輸入用戶名和密碼,然後讓腳本檢查它們。如果用戶在他的密碼中有一個大括號{},則該腳本根本不起作用:使用大括號{作爲tcsh Linux腳本的輸入
Missing}。
有沒有辦法解決這個問題?無論如何,是否有辦法啓動腳本,以便從內部處理花括號?
謝謝,保利
假設你正在閱讀輸入與< $,報價替代:
set password = $<:q
感謝所有觀衆和Dave錫尼什回答。
答案是:
如果您使用$ argv,則會失敗。
如果您使用「$ argv」,它將起作用。
所以,如果一個參數可以包含一個花括號{然後使用雙引號來包裝$ argv以正確讀取它。
聚
在CSH,2單引號可以被用來保護(逃逸)大括號。您可能需要一個雙引號(「),當您迴應變量:
set a=''{''
echo "$a"
如果您在腳本中使用大括號(或括號[]),你可以回顯引號內聯合()和轉義括號:
set b = " COMMANDS `echo ''{''` MORE COMMANDS `echo ''}''` "
echo "$b"