⑴ 腳本有沒代表任意值的符號
什麼叫任意值,應該是不限速吧,用0就可以了。
⑵ 請教,我寫一個簡單的shell腳本,但是提示「 期待整數表達式」
可能少個符號"$",我的也是這個問題
1 #!/bin/bash
2 #從命令行中輸入一個數n,統計1+..+n的值是多少
3
4 SUM=0
5 i=0
6 while [ $i -le $1 ]
7 do
8 SUM=$[$SUM+$i]
9 i=$[$i+1]
10 done
11 echo "sum=$SUM"
⑶ 腳本符號里像8的怎麼打
Shift鍵加&7鍵就可以了
⑷ 在 C語言中 取整 , 求余的符號各是什麼
如果操作數是整數,那麼就是整除,否則就是浮點除,求余的符號是%。
1、通常情況下取模運算(mod)和求余(rem)運算被混為一談,因為在大多數的編程語言里,都用'%'符號表示取模或者求余運算。在這里要提醒大家要十分注意當前環境下'%'運算符的具體意義,因為在有負數存在的情況下,兩者的結果是不一樣的。
2、求模運算和求余運算在第一步不同:取模求余運算在取c的值時,向0 方向舍入(fix()函數);而求余取模運算在計算c的值時,向無窮小方向舍入(floor()函數)。
3、當a和b符號一致時,求模運算和求余運算所得的c的值一致,因此結果一致。但是當符號不一致的時候,結果不一樣。具體來說,求模運算結果的符號和b一致,求余運算結果的符號和a一致。
4、在C語言中,%符號表示的是求余運算,在Python腳本中,%表示的是取模。
⑸ 請教:SQL 腳本編寫: 創建兩個整型變數,將他們的值分別設置為2和4,然後輸出這兩個變數的和 謝謝!
代碼如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = 10;
int b = 20;
int c = 0;
printf("a = %d b = %d ", a, b);
c = a;
a = b;
b = c;
printf("a = %d b = %d ", a, b);
system("pause");
return 0;
}
(5)腳本整數符號擴展閱讀
SQL的整數型數據包括bigint型、int型、bit、smallint型和tinyint型。
bigint型數據的存儲大小為8個位元組,共64位。其中63位用於表示數值的大小,1位用於表示符號。bigint型數據可以存儲的數值范圍是-263~263-1,即 -9 223 372 036 854 775 808 ~9 223 372 036 854 775 807。
在應用中除非明確說明,否則那些接受int表達式作為其參數的函數、語句和系統存儲過程都不會改變,從而不會支持將 bigint表達式隱式轉換為這些參數。因此,當 bigint值在int數據類型支持的范圍內時,SQL Server 才將 bigint隱式轉換為int。
如果 bigint表達式包含了一個在int數據類型支持范圍之外的值,就會在運行時出現轉換錯誤。
⑹ 錯哪了:設計一個shell腳本:將所有輸入的整數相加
代碼
#!/bin/bash
sum=0
while [ 1 ]
do
read -p "input number:" num
if [ -z $num ]
then
break
fi
sum=$(($sum + $num))
echo $sum
done
運行結果
$ sh a.sh
input number:1
1
input number:2
3
input number:3
6
input number:
$
⑺ shell腳本中一些特殊符號有哪些
在shell中常用的特殊符號羅列如下:
# ; ;; . , / \\ 'string'| ! $ ${} $? $$ $*
\"string\"* ** ? : ^ $# $@ `command`{} [] [[]] () (())
|| && {xx,yy,zz,...}~ ~+ ~- & \\<...\\> + - %= == !=
⑻ shell腳本書寫方法
在shell學習過程中,感覺挺有用的一份比較,略整理分享給大家。
首先,shell的作用
用戶的登陸shell 登陸後默認的shell程序是: /bin/bash
不同的shell內部指令,運行環境會有所區別
常見的shell有
/bin/sh
/bin/bash
/sbin/nologin
1.編寫腳本代碼:
使用vi編輯器,每行一條Linux命令,按照順序執行
2.然後賦予腳本文件可執行的屬性
3.執行腳本文件的三種方法
./chao.sh
sh /chao.sh
source /chao.sh
更完善的腳本構成
注釋信息
可執行語句
重定向操作
類型 操作符 用途
重定向輸入 < 從指定文件讀取而不是從鍵盤輸入
重定向輸出 > 將輸出文件保存到指定文件(覆蓋原有內容)
>> 將輸出文件保存到指定文件(覆蓋原有內容)
標准錯誤輸出 2> 將錯誤信息保存到指定的文件(覆蓋原有內容)
2>> 將錯誤信息保存到指定的文件
混合輸出 &> 將標准輸出,標准錯誤的內容保存到同一文件中
管道操作符號「|」
將左側的命令輸出結果,作為右側命令的處理對象
shell變數的作用
為靈活管理Linux系統提供的特定參數,有兩層意思
變數名:使用固定的名稱,由系統預設或用戶定義
變數值: 能夠根據用戶設置,系統環境的變化而變化
變數的類型
自定義變數:由用戶自己定義,修改和使用
環境變數: 由系統維護,用於設置工作環境
位置變數: 通過命令行給腳本程序傳遞參數
預定義變數:BASH中內置的一類變數,不能直接修改
定義一個新的變數
格式: 變數名=變數值
變數名以字母或下劃線開頭,區分大小寫,建議全大寫
查看變數的值: echo $變數名
賦值時使用引號:
雙引號:允許使用$符引用其他變數值
單引號: 禁止引用其他變數值,$視為普通字元
反撇號:命令替換,提取命令執行後的輸出結果
將鍵盤輸入內容為變數賦值
格式: read [-p "提示信息"] 變數名
設置變數的作用范圍
export 變數名
export 變數名=變數值
兩種格式可以混合使用
整數變數的運算:
expr 變數1 運算符 變數2 [運算符 變數3]
常見的運算符
加法運算符 +
減法運算符: -
乘法運算符:\*
除法運算符: /
取余運算:%
整數變數的運算(2)
((變數=變數運算符變數));
等號後面的變數可以是具體數值
例子:
((a=a+3));
環境變數:
由系統提前創建,用來設置用戶的工作環境
配置文件: /etc/profile ~/.bash_profile
常見環境變數的舉例
位置變數:
表示為$n, n為1~9之間的數字
預定義變數:
/etc/passwd /etc/shadow
例如一些服務的內置用戶名或密碼
如apache的啟動用戶就是預定義變數
條件測試操作
測試特定的 表達式是否成立,當條件成立時,測試語句的返回值為0,否則為其他數值
格式 : test 條件表達式
應用實例:
test -z 進行測試的時候 字元串長度為0的時候 結果才返回1
如果變數數值為0 返回0
條件測試操作
[ 操作符 文件或目錄]
[5] 部分是判斷表達式,-d表示判斷是否是目錄
&&是」邏輯與「操作符,只有&&前面的判斷成立,後面的語句才會執行
-b的意思是判斷 後面的路徑是否是一個目錄
echo $? 表示對剛剛執行的表達式進行判斷
0表示成立,1表示不成立
-e filename 如果 filename存在,則為真 [ -e /var/log/syslog ]
-d filename 如果 filename為目錄,則為真 [ -d /tmp/mydir ]
-f filename 如果 filename為常規文件,則為真 [ -f /usr/bin/grep ]
-L filename 如果 filename為符號鏈接,則為真 [ -L /usr/bin/grep ]
-r filename 如果 filename可讀,則為真 [ -r /var/log/syslog ]
-w filename 如果 filename可寫,則為真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可執行,則為真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,則為真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2舊,則為真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字元串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)
-z string 如果 string長度為零,則為真 [ -z "$myvar" ]
-n string 如果 string長度非零,則為真 [ -n "$myvar" ]
string1= string2 如果 string1與 string2相同,則為真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1與 string2不同,則為真 [ "$myvar" != "one two three" ]
算術比較運算符
num1-eq num2 等於 [ 3 -eq $mynum ]
num1-ne num2 不等於 [ 3 -ne $mynum ]
num1-lt num2 小於 [ 3 -lt $mynum ]
num1-le num2 小於或等於 [ 3 -le $mynum ]
num1-gt num2 大於 [ 3 -gt $mynum ]
num1-ge num2 大於或等於 [ 3 -ge $mynum ]
整數值比較
格式: [ 整數1 操作符 整數2 ]
字元串比較
格式1: [ 字元串1 = 字元串2 ]
[ 字元串1 != 字元串2 ]
格式2: [ -z 字元串 ]
邏輯測試:
格式1: [ 表達式1 ] 操作符 [ 表達式2 ]
格式2: 命令1 操作符 命令2
if語句的結構
while語句的語法結構
⑼ 關於shell腳本中的特殊符號
$0 這個程式的執行名字
$n 這個程式的第n個參數值,n=1..9
$* 這個程式的所有參數,此選項參數可超過9個。
$# 這個程式的參數個數
$$ 這個程式的PID(腳本運行的當前進程ID號)
$! 執行上一個背景指令的PID(後台運行的最後一個進程的進程ID號)
$? 執行上一個指令的返回值 (顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤)
$- 顯示shell使用的當前選項,與set命令功能相同
$@ 跟$*類似,但是可以當作數組用
⑽ 腳本命令里的一些特殊符號都有什麼作用
1 >>是向文件尾部追加內容的命令
echo "test" >> file1
中的>>是將"test"追加到文件file1尾部
2 &&是邏輯操作符,&&左側命令執行成功才會執行右側命令
ls && pwd
兩個命令都會執行
ls notExistFile && pwd
因ls命令執行不成功,所以pwd命令就不會執行
3 %1代表命令行第一個參數
./myShell file1
在myShell腳本中%1就是file1