0
有此文件:我如何正確展開變量sed命令
user0:
hash: $2a$12$DA47ZutoC.89KDePyBK.yubz.2vfEiLi28ENBRuyoNf.px3.vHINq
user1:
hash: $2a$12$Auk82xqdbgFb4AJKyvSuWOKTQivuHhJZwckLii5/a5ILhCke0sddS
user3:
hash: $2a$12$QW/dCK7CqE5s87OIk8QBeeBYVvD5tjbd46jH9wVD9YMWW31KQEA1y
user4:
hash: $2a$12$60ds1ivJzM/DexIBYUilzO4BPjumsdTOETAHoopIxabffoWiDEkum
和bash腳本改變與用戶名的哈希值。 例如更改用戶1哈希,我會用:
sed -i "/user1:/{n;s,.*, hash: NEW_HASH/}" MY_FILE
現在,在腳本我有變量,所以實際上我前面的例子是:
sed -i "/$1:/{n;s,.*, hash: $hash/}" "$users"
我的問題是,$hash
參數得到了也/
字符,導致SED錯誤是這樣的:
sed: -e expression #1, char 85: unterminated `s' command
如何糾正我的命令,以便爲L et it擴展hash
變量是否正確?我嘗試了一些'
和"
命令的組合,但沒有結果。任何幫助? 謝謝!
謝謝!這很好用! –
不客氣 – hek2mgl