亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 求助,關(guān)于*在shell中的解釋 [打印本頁]

作者: thinshootout    時(shí)間: 2010-10-25 10:54
標(biāo)題: 求助,關(guān)于*在shell中的解釋
本帖最后由 thinshootout 于 2010-10-25 11:03 編輯

shell腳本中以下語句:
    #!/bin/sh
    /usr/local/soliddb-6.3/bin/solsql -x returnerroronexit -x onlyresults -e"select * from request_results" "tcp 1315" username password

在執(zhí)行時(shí),*會(huì)被替換成工作目錄下的所有文件,現(xiàn)在想讓*保持原樣傳遞給所執(zhí)行的命令,請(qǐng)問該如何做?謝謝~

作者: lkk2003rty    時(shí)間: 2010-10-25 10:57
用'試試
作者: thinshootout    時(shí)間: 2010-10-25 10:59
回復(fù) 2# lkk2003rty


    用單引號(hào)'也不行~
作者: blackold    時(shí)間: 2010-10-25 11:00
回復(fù) 1# thinshootout


    什么shell?

   *已經(jīng)被引用了,還會(huì)展開為當(dāng)前目錄下的文件?
作者: thinshootout    時(shí)間: 2010-10-25 11:02
回復(fù) 4# blackold


    基本的shell,既不是bash,又不是csh, ksh
作者: blackold    時(shí)間: 2010-10-25 11:06
回復(fù) 5# thinshootout


    只回答了一個(gè)問題啊。

   "\*"試試。
作者: jack1007    時(shí)間: 2010-10-25 11:10
反斜杠轉(zhuǎn)義試試  \*
作者: thinshootout    時(shí)間: 2010-10-25 11:21
回復(fù) 6# blackold

用反斜杠轉(zhuǎn)義后,用-x調(diào)試:

    + /usr/local/soliddb-6.3/bin/solsql -x returnerroronexit -x onlyresults -e"select * from request_results" "tcp 1315" username passwd

cmd=Error: File '"tcp' can not be opened.

命令看起來沒問題了,但是卻把“tcp 1315”解釋成讀取文件。
但是把:/usr/local/soliddb-6.3/bin/solsql -x returnerroronexit -x onlyresults -e"select * from request_results" "tcp 1315" username passwd
直接在命令行下執(zhí)行,就沒有問題~
作者: blackold    時(shí)間: 2010-10-25 11:25
回復(fù) 8# thinshootout


    "select * from request_results"  這是SQL語句
  "tcp 1315"
username
passwd  分別是命令參數(shù)。

是這樣吧?

#!是什么?

命令行可執(zhí)行,腳本應(yīng)該也可以。
作者: thinshootout    時(shí)間: 2010-10-25 11:30
回復(fù) 9# blackold


    #!/bin/sh是腳本起始提示shell去某位置查找解釋命令的啊,所有腳本第一行不都是這樣~

    不錯(cuò),"tcp 1315"是solsql的參數(shù),現(xiàn)在的問題正是該命令可以在命令行下執(zhí)行,卻不能在shell腳本中執(zhí)行~
作者: blackold    時(shí)間: 2010-10-25 11:33
回復(fù) 10# thinshootout


    sh與當(dāng)前shell不同,所以結(jié)果不同。

   sh應(yīng)該不會(huì)有這樣的問題吧。

  你仔細(xì)檢查過了嗎?
作者: thinshootout    時(shí)間: 2010-10-25 11:39
回復(fù) 11# blackold


    我當(dāng)前命令行的shell是bash,但是腳本執(zhí)行解釋器是sh。
   但是把腳本中的執(zhí)行解釋器換成bash后:#!/bin/bash,結(jié)果依舊,說明不是解釋器的問題~
作者: blackold    時(shí)間: 2010-10-25 11:41
回復(fù) 12# thinshootout


    那是其它問題了,自己仔細(xì)檢查吧。
作者: thinshootout    時(shí)間: 2010-10-25 11:44
回復(fù) 13# blackold


    ……

   我只想知道為什么該命令可以在命令行下執(zhí)行,在shell腳本中就不行~~~

    可以把腳本就理解成只有那一行命令,前后又沒有什么關(guān)聯(lián)性,怎么檢查?
作者: blackold    時(shí)間: 2010-10-25 11:48
回復(fù) 14# thinshootout


    我覺得問題不在這里。

    怎么查?你可以這樣試試:
   test.sh
#!/bin/bash
echo "*"

$ echo "*"
$ ./test.sh

看看二者是否一樣。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2