我知道在shell腳本中使用#會註釋行的其餘部分。如何在linux shell腳本中使用##
我必須將變量從另一個文件傳遞給shell腳本。我正在使用「導出」來執行此操作。問題是變量的值有一個#,所以我無法獲得我的shell腳本中的值。
我使用下面
出口FILE_NAME =#gclfac給出腳本*附表$
正如你可以看到#是值的開頭,我不能夠得到任何東西我shell腳本。
如何在shell腳本中傳遞'#'值而不註釋掉其餘行?任何幫助將不勝感激
我知道在shell腳本中使用#會註釋行的其餘部分。如何在linux shell腳本中使用##
我必須將變量從另一個文件傳遞給shell腳本。我正在使用「導出」來執行此操作。問題是變量的值有一個#,所以我無法獲得我的shell腳本中的值。
我使用下面
出口FILE_NAME =#gclfac給出腳本*附表$
正如你可以看到#是值的開頭,我不能夠得到任何東西我shell腳本。
如何在shell腳本中傳遞'#'值而不註釋掉其餘行?任何幫助將不勝感激
export FILE_NAME='#gclfac*sched$'
或
export FILE_NAME="#gclfac*sched$"
腳本來執行:
#!/bin/bash
set -x
export FILE_NAME='#jfkslj**23948290$'
echo $FILE_NAME "_ $FILE_NAME"
把它的test.sh使其可執行(chmod +x test.sh
),然後運行爲./test.sh
和發佈在這裏輸出。 ps。你的shell是否爲bash
(如果沒有,將she-bang [#!/ bin/bash改爲第一個字符串]改爲你的shell並且不要忘記寫關於它的信息)?
這也不起作用 – user1538033 2012-07-19 14:18:21
@ user1538033請按照我已添加到我的答案的說明。我們將盡力弄清楚。 – rush 2012-07-19 15:13:49
將您的賦值字符串放在雙引號中。所以要用你的榜樣,它會是;
FILE_NAME="#gclfac*sched$"
export FILE_NAME
我試過這個..但價值仍然是空的。 – user1538033 2012-07-19 14:18:05
對不起@ user1538033我忘了一個換行符...我早些時候做過這個。我上面編輯了我的原始答案。 – 2012-07-19 16:55:12
使用'#'不一定會評論該行的其餘部分。考慮'echo foo#bar'。規則很複雜,但大致可以概括爲:'#'僅在未加引號且以空格,分號或管道符號開頭時才指定註釋。 – 2012-07-19 16:32:45