if [ -n "$num1" -a -n "$num2" -a -n "$op" ]
shell編程類似的這種對于變量的判斷一定要記得加雙引號,雖然有時候顯得沒必要,但是在程序比較大時可能會因為這種小細(xì)節(jié)出錯,這種問題應(yīng)該調(diào)試半天也不一定能發(fā)現(xiàn)
shell編程類似的這種對于變量的判斷一定要記得加雙引號,雖然有時候顯得沒必要,但是在程序比較大時可能會因為這種小細(xì)節(jié)出錯,這種問題應(yīng)該調(diào)試半天也不一定能發(fā)現(xiàn)
2015-07-23
已采納回答 / 努力終不會白費
錯誤點:1、單詞寫錯:number1不存在,上面寫的是number 等等2、將運算符替換為空,運算符需要進(jìn)行轉(zhuǎn)義,否則系統(tǒng)把運算符當(dāng)成正則表達(dá)式了#!/bin/bashread -t 30 -p "please input two number:" number1read -t 30 -p "please input yunsuanfu:" number2read -t 30 -p "please input number:" number3#判斷輸入的三個參數(shù)是否為非空if [ -n "$number1...
2015-07-20
已采納回答 / onemoo
你自己分別執(zhí)行這幾個命令,看看結(jié)果就能明白了。env是輸出環(huán)境變量的命令,每個環(huán)境變量占一行,其中叫USER的環(huán)境變量中保存的就是用戶名,輸出的形式是 USER=用戶名grep命令用來將這一行提取出來。cut命令能夠按指定的分隔符來分割一行字符,-d 指定分隔符(你哪里覺得它是判斷文件的??又不是test語句?。?,-f 指定要輸出哪一段字符。很顯然環(huán)境變量格式就是由=分割的兩段字符串,所以 cut -d "=" -f 2 輸出的就是=后面的部分,也就是實際用戶名。以上這三個命令用管道相連,共同完成任務(wù)。
2015-07-15