Linux shell程式設計問題 並行語句

2022-02-27 09:45:02 字數 5438 閱讀 8295

1樓:匿名使用者

恩,我也試了下,說說我的看法,

3 (tableau_os[2]=$) & (tableau_os[1]=$)

注意到兩個賦值語句都有小括號,這在shell的執行過程中會單獨看一個子shell來執行這兩個賦值,但需要注意這兩個賦值對父shell沒有影響,也就是說tableau_os[1],tableau_os[2]的值在父shell中並沒有改變,為了證明這一點,可以寫下面這個指令碼執行

#!/bin/sh

a=1(a=2)

echo $a

結果輸出為1。所以3的輸出結果是對的

4.tableau_os[2]=$ & tableau_os[1]=$如果你想表達並的意思,我覺得應該用&&而不是&,若用&&的輸出結果為

linux windows windows linux~freebsd

單獨一個&是把命令放入後臺執行的意思,而非並的意思,這樣的話也能解釋你的那個輸出結果,因為賦值被放入後臺,並不能把賦值返回父shell,所以相當於只執行了tableau_os[1]=$

希望對你有幫助

2樓:shine雪瑞

3 (tableau_os[2]=$) & (tableau_os[1]=$)

注意到兩個賦值語句都有小括號,這在shell的執行過程中會單獨看一個子shell來執行這兩個賦值,但需要注意這兩個賦值對父shell沒有影響,也就是說tableau_os[1],tableau_os[2]的值在父shell中並沒有改變,為了證明這一點,可以寫下面這個指令碼執行

#!/bin/sh

a=1(a=2)

echo $a

結果輸出為1。所以3的輸出結果是對的

4.tableau_os[2]=$ & tableau_os[1]=$如果你想表達並的意思,我覺得應該用&&而不是&,若用&&的輸出結果為

linux windows windows linux~freebsd

單獨一個&是把命令放入後臺執行的意思,而非並的意思,這樣的話也能解釋你的那個輸出結果,因為賦值被放入後臺,並不能把賦值返回父shell,所以相當於只執行了tableau_os[1]=$

linux shell指令碼while程式設計的問題

3樓:匿名使用者

這個在句法上有問題,在「」要與判斷條件之間要有空格。

另外,就是你這個迴圈語句是一個死迴圈,最好是加一個判斷語句,好跳出迴圈。

4樓:

中括號前後都要有空格吧。

而且我在solaris上試了一下,你這個是死迴圈,一直不停地輸出0。

5樓:轉轉耳朵

是你的程式寫的有問題,while 後面的裡面,要加上前後空格。

要像這樣:

#!/bin/bash

i=5while [ $i -gt 0 ];

doecho "$i"

i=$[ i - 1 ]

done

linux(shell)指令碼程式設計題目求教,謝謝(200分,滿意繼續追加分)

6樓:匿名使用者

先佔下樓層,空了慢慢給你做!

先做第一題1月12日:

#!/bin/bash

echo this "date" :`date`;

echo this "cal" :`cal`;

echo this "pwd" :`pwd`;

echo this "ls" : `ls`.

第二題1月12日:

這個沒法寫了撒 太籠統;建議翻翻書。

我列個環境變數的例子吧:

#!/bin/bash

echo "第二題":

test_dir=/root

export $test_dir;

echo "環境變數test_dir是/root".

第三題1月12日:

#!/bin/bash

echo "第三題for":

echo "3.1 for"

x=0for ((i=1 ; i<101 ;i++));

do x=$(($x+$i))

done

echo $x

echo "---------------------------------"

echo "第三題while":

echo "3.2 while"

x=0i=1

while [ $i -lt 101 ]

doi=$(($i+1))

x=$(($x+$i))

done

echo $x

第三題第二個

#!/bin/bash

echo "3.2"

function fib

n=10

for ((i = 0; i < $n; i++))doprintf "fib(%2d) = %d\n" $i $(fib $i)

done

linux shell程式設計:shell 指令碼引數問題! 10

7樓:匿名使用者

關於引數傳遞:

假我要獲取/home某目錄text.txt檔案某目錄我原先知道所需要先使用:

ls -l /home

獲取/home目錄資訊

現需要ls -l /homels -l $filenamemore text.txt三命令寫同shell

該寫$filename傳遞

寫簡單程式

#!/bin/bash

i=0while [$i]

doecho "$i"

done

程式始報錯:

snytax error near unexpected token 'do'

並且管我寫任何內容要while控制語句報種錯誤我程式問題linux問題

linux shell的if語句

8樓:本思一體電腦

echo "你繼續嗎?y or n"

read answer

if [ 「$answer」 = 「y」 -o 「$answer」 = 「y」 ] ; then

echo "你選擇了$answer";

elif [ 「$answer」 = 「n」 -o 「$answer」 = 「n」 ] ; then

echo "你選擇了$answer";

else

echo "輸入錯誤"

exit

fi-----你試試

9樓:匿名使用者

#/bin/bash

read -p "你繼續嗎?y or n:" answer

if [ "$answer" = "y" -o "$answer" = "y" ] ; then

echo "你選擇了 $answer"; #如果要顯示為你選擇了y或y則改為 echo "你選擇了y或y"

elif [ "$answer" = "n" -o "$answer" = "n" ] ; then

echo "你選擇了$answer"; #如果要顯示為你選擇了n或n則改為 echo "你選擇了n或n"

else

echo "輸入錯誤"

exitfi

10樓:匿名使用者

指令碼沒有問題,應該是你用的預設shell問題,用sh或bash執行一下試試,在指令碼第一行加上

#!/bin/sh

11樓:匿名使用者

read -p "你繼續嗎?(y/n):" ynif [ $yn == y -o $yn == y ]; thenecho "你選擇了$yn!"

elif [ $yn == n -o $yn == n ]; then

echo "你選擇了$yn!"

else

echo "輸入錯誤"

exit 1

fi主要是注意一下read的用法

shell指令碼程式設計問題:[a-z]與[a-z]無法區別開!

12樓:匿名使用者

shell的case語句對大小寫字母的區分是有問題,這是已知的。

解決的方法有下面兩回種:

1. 在指令碼最前答面加入如下句: export lc_all=c作用就是 specifies the ansi c locale2.

將判斷條件作如下改動(改為符合posix標準的集合):

[a-z] 改為 [[:upper:]]

[a-z] 改為 [[:lower:]]

13樓:匿名使用者

case是不是應該在迴圈體的外面?

linux shell程式設計中我遇到個問題是關於 看兩個數能否整除的 我把這段從整個程式中抽出來,希望高手幫我看看

14樓:匿名使用者

[5%3=0] : command not findshell不識別

#!/bin/bash

n=10

x=2if [ `expr $n % $x` = 0 ]then

echo "can"

else

echo "can not"fi

15樓:阿彌陀佛被註冊

1樓正解,稍微解釋下。在bash中if後面的[ ] ,兩端要空格,=在bash中如果是賦值不需要空格,但是判斷相等是要兩邊加空格的,我剛學也碰到這些問題。

所以你的應該是if [ $n%$x = 0 ]

linux shell程式設計指令碼第一行為什麼一定要用"#!/bin/sh",不寫行不行?這個"!"是什麼意思?

16樓:匿名使用者

#!/bin/sh為指定你執行指令碼的shell型別,是bash,ksh還是其它,一般系統有固定的shell,不定這行也能執行,只是為了規範寫上的。還有比如你執行的是perl程式,就可以寫#!

/bin/perl.

17樓:匿名使用者

#! /bin/sh 是指此指令碼使用/bin/sh來解釋執行,#!是特殊的表示符,其後面跟的是解釋此指令碼的shell的路徑

如果沒有宣告,則指令碼將在預設的shell中執行,預設shell是由使用者所在的系統定義為執行shell指令碼的shell.如果指令碼被編寫為在kornshell ksh中執行,而預設執行shell指令碼的為c shell csh,則指令碼在執行過程中很可能失敗。

18樓:使者

表示用來解釋此指令碼的程式是"/bin/sh"

不寫的話應該不會出錯。

但是考慮到移植問題,還是寫上比較好。

19樓:匿名使用者

這個是告訴系統,應該呼叫哪個東西來執行他。

是特殊格式。

C 程式設計問題,C 程式設計問題

include using namespace std void circle void else break while 1 return 0 c 程式設計,出現2 個無法解析的外部命令,怎麼回事?client.h ifndef client define client include inclu...

C 程式設計問題

1.首先 cin a,b,c 沒有這種寫法,編譯的時候可能能通過,但是會有run time error 必須分開寫 cin a cin b cin c 2.if裡面的條件同時滿足用 間隔,後面的內容要用花括號包著,面積要重新定義變數,乘法要寫出來 if a b c a c b b c a else ...

access vba程式設計問題

在窗體上建兩個文字框 一個 text1 用來輸入x,一個 text3 用來輸出y,再建一個按鈕 command0 把 寫到按鈕單擊事件裡去,在text1中輸入一個數字,再單擊按鈕command0,然後在text3中看結果 private sub command0 click dim x,y as s...