當前位置:首頁 » 操作系統 » linuxforcontinue

linuxforcontinue

發布時間: 2022-04-22 06:40:01

linux shell編程 ---- 循環結構

linux
shell編程
----
循環結構1
for循環
1
for循環是linux
Shell中常用的結構,for循環有三種結構;一種是列表for循環,第二種是不帶列表的for循環,第三種是類C風格的for循環。
2
列表for循環
for
variable
in
list
do
statement
done
3
不帶列表for循環
for
variable
do
statement
done
4
類C風格的for循環
for
((
expr1;
expr2;
expr3
))
do
statement
done2
while循環
1
while循環的結構
while
expression
do
statement
done
3
until循環
1
在執行while循環的時候只要expression的退出狀態為0,將一直執行循環體。until命令和while命令類似,但區別是until循環中的expression的退出狀態不為0的時候循環體將會一直執行。
2
until的結構
untile
expression
do
statement
done
4
循環控制符號
1
break語句可以應用在for,while和until循環語句中,用於強行循環,也就是忽略循環體中任何其它語句和循環條件的限制。
2
continue循環控制符應用在for,while和until語句中,用於讓腳本跳過後面的語句,執行下一次的循環。

❷ 從鍵盤輸入一個數num,列印出從1到num的所有素數,並計算和(用linux 系統 shell腳本for語句編寫)

#!/bin/bash
declare -i num
declare -i prime_sum=0

read -p "Enter a number:" num
echo "Prime numbers:"
for ((i=2; i<=$num; i=i+1))
do
for((j=$i/2; j>1; j=j-1))
do
if !(($i%$j)); then
continue 2
fi
done
echo -n $i ""
let prime_sum+=i
done
echo -e "\nSum of these prime numbers:" $prime_sum

❸ linux下的flash插件

你查一下你的mozilla安裝在哪裡的,命令是which mozilla,會出現一個地址。如/usr/bin/mozilla,把那地址寫在這里就可以繼續了。

❹ Linux系統中Sublime Text無法輸入中文怎麼辦

1.保存下面的代碼為sublime_imfix.c
代碼如下:
/*
sublime-imfix.c
Use LD_PRELOAD to interpose some function to fix sublime input method support for linux.
By Cjacker Huang
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
LD_PRELOAD=。/libsublime-imfix.so sublime_text
*/
#include
#include
typedef GdkSegment GdkRegionBox;
struct _GdkRegion
{
long size;
long numRects;
GdkRegionBox *rects;
GdkRegionBox extents;
};
GtkIMContext *local_context;
void
gdk_region_get_clipbox (const GdkRegion *region,
GdkRectangle *rectangle)
{
g_return_if_fail (region != NULL);
g_return_if_fail (rectangle != NULL);
rectangle->x = region->extents.x1;
rectangle->y = region->extents.y1;
rectangle->width = region->extents.x2 - region->extents.x1;
rectangle->height = region->extents.y2 - region->extents.y1;
GdkRectangle rect;
rect.x = rectangle->x;
rect.y = rectangle->y;
rect.width = 0;
rect.height = rectangle->height;
//The caret width is 2;
//Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.
if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {
gtk_im_context_set_cursor_location(local_context, rectangle);
}
}
//this is needed, for example, if you input something in file dialog and return back the edit area
//context will lost, so here we set it again.
static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)
{
XEvent *xev = (XEvent *)xevent;
if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {
GdkWindow * win = g_object_get_data(G_OBJECT(im_context),「window」);
if(GDK_IS_WINDOW(win))
gtk_im_context_set_client_window(im_context, win);
}
return GDK_FILTER_CONTINUE;
}
void gtk_im_context_set_client_window (GtkIMContext *context,
GdkWindow *window)
{
GtkIMContextClass *klass;
g_return_if_fail (GTK_IS_IM_CONTEXT (context));
klass = GTK_IM_CONTEXT_GET_CLASS (context);
if (klass->set_client_window)
klass->set_client_window (context, window);
if(!GDK_IS_WINDOW (window))
return;
g_object_set_data(G_OBJECT(context),「window」,window);
int width = gdk_window_get_width(window);
int height = gdk_window_get_height(window);
if(width != 0 && height !=0) {
gtk_im_context_focus_in(context);
local_context = context;
}
gdk_window_add_filter (window, event_filter, context);
} 2.編譯動態庫:
代碼如下:
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
3. 設置 LD_PRELOAD 並啟動 Sublime Text:
代碼如下:
LD_PRELOAD=。/libsublime-imfix.so sublime_text
為了不用每次啟動Sublime Text都打這么一長串東西,寫了個啟動Sublime的腳本:
代碼如下:
#!/bin/bash
SUBLIME_HOME=「/opt/sublime_text」
LD_LIB=$SUBLIME_HOME/libsublime-imfix.so
sh -c 「LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text $@」
把libsublime-imfix.so放到Sublime Text目錄下並修改腳本中的SUBLIME_HOME,這樣Sublime Text 就可以輸入中文了。
上面就是Linux下Sublime Text 無法輸入中文的解決方法的介紹了,只要按照上面的步驟,就能在Sublime Text 中輸入中文了

❺ shell裡面的for循環

關於shell中的for循環用法很多,一直想總結一下,今天網上看到上一篇關於for循環用法的總
結,感覺很全面,所以就轉過來研究研究,嘿嘿...
1、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done
2、在shell中常用的是 for i in $(seq 10)
3、for i in `ls`
4、for i in ${arr[@]}
5、for i in $* ; do
6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do
7、for i in f1 f2 f3 ;do
8、for i in *.txt
9、for i in $(ls *.txt)
for in語句與` `和$( )合用,利用` `或$( )的將多行合為一行的缺陷,實際是合為一個字元串
數組
============ -_- ==============for num in $(seq 1 100)
10、LIST="rootfs usr data data2"
for d in $LIST; do
用for in語句自動對字元串按空格遍歷的特性,對多個目錄遍歷
11、for i in {1..10}
12、for i in stringchar {1..10}
13、awk 'BEGIN{for(i=1; i<=10; i++) print i}'
注意:AWK中的for循環寫法和C語言一樣的
===============================================================
01.#/bin/bash
02.# author: 周海漢
03.# date :2010.3.25
04.# blog.csdn.net/ablo_zhou
05.arr=("a" "b" "c")
06.echo "arr is (${arr[@]})"
07.echo "item in array:"
08.for i in ${arr[@]}
09.do
10. echo "$i"
11.done
12.echo "參數,\$*表示腳本輸入的所有參數:"
13.for i in $* ; do
14.echo $i
15.done
16.echo
17.echo '處理文件 /proc/sys/net/ipv4/conf/*/accept_redirects:'
18.for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do
19.echo $File
20.done
21.echo "直接指定循環內容"
22.for i in f1 f2 f3 ;do
23.echo $i
24.done
25.echo
26.echo "C 語法for 循環:"
27.for (( i=0; i<10; i++)); do
28.echo $i
29.done
-----------------------------------------------------------------------------------
----------------------
shell中for循環用法
shell語法好麻煩的,一個循環都弄了一會 ,找了幾個不同的方法來實現輸出1-100間可以被3
整除的數
1.用(())
#!/bin/bash
clear
for((i=1;i<100;i++))
for
do
if((i%3==0))
then
echo $i
continue
fi
done
2.使用`seq 100`
#!/bin/bash
clear
for i in `seq 100`
do
if((i%3==0))
then
echo $i
continue
fi
done
3.使用while
#!/bin/bash
clear
i=1
while(($i<100))
do
if(($i%3==0))
then
echo $i
fi
i=$(($i+1))
done
-----------------------------------------------------------------------------------
---------------------
在shell用for循環做數字遞增的時候發現問題,特列出shell下for循環的幾種方法:
1.
for i in `seq 1 1000000`;do
echo $i
done
用seq 1 10000000做遞增,之前用這種方法的時候沒遇到問題,因為之前的i根本就沒用到百萬
(1000000),因為項目需要我這個數字遠大於百萬,發現用seq 數值到 1000000時轉換為1e+06,根
本無法作為數字進行其他運算,或者將$i有效、正確的取用,遂求其他方法解決,如下
2.
for((i=1;i<10000000;i++));do
echo $i
done
3.
i=1
while(($i<10000000));do
echo $i
i=`expr $i + 1`
done
因為本方法調用expr故運行速度會比第1,第2種慢不少不過可稍作改進,將i=`expr $i + 1`改
為i=$(($i+1))即可稍作速度的提升,不過具體得看相應shell環境是否支持
4.
for i in {1..10000000;do
echo $i
done
其實選用哪種方法具體還是得由相應的shell環境的支持,達到預期的效果,再考慮速度方面的
問題。

❻ linux shell中continue的使用問題

continue後面啥也沒有,已經繼續循環了,根本沒必要寫continue

❼ linux 下載程序

Linux下根本不用專門去安裝USB轉串口的驅動,/dev/ttyUSB0這種就是USB轉的串口產生的設備文件。
你這個led.bin,看樣子應該是一個裸機程序,不知道你開發板什麼類型,但是我可以給你說下我當時的做法,我用的是mini2440。
Linux環境下,我沒有使用虛擬機,你自己參考下吧

找到Dnw_for_linux,裡麵包含兩個東西,一個是USB線對應的下載驅動(記不清楚名字了),編譯好之後執行insmod [模塊名稱] 把模塊給安裝上就算是安裝好了驅動;一個是dnw的應用程序。
上面的工具准備好了之後,你下載的led,bin,是一個裸機程序,所以需要讓板子進入到bootloader(vivi或者uboot),在bootloader(vivi)中選擇下載程序到RAM中(這個選擇是在打開minicom,串口和開發板連接好,啟動bootloader看到的菜單中可以選擇的),然後板子就會等待數據,此時你用dnw去發送數據,在命令行下執行:dnw /path/to/file (USB下載驅動安裝好了的話,就會顯示數據發送的進度),而串口中也會顯示一些接受文件的信息。搞定之後就直接執行了~

PS: 我沒有用minicom去發送過文件,不過串口發送數據相當慢~剛才說的那種用USB下載更節省時間一些。我不知道你是怎麼操作的,Retry 0: Timeout on pathname 這個是路徑超時,我也不太清楚是什麼緣故,我估計是你沒有讓板子進入等待數據狀態的原因,也就是開發板根本沒有在接受數據。

PPS:我剛才說的是裸機程序,就是開發板上沒跑操作系統的情況,因為你用的是led.bin,這一看就是裸機程序,無操作系統情況下跑的,如果是這種情況,為了方便,一般會去使用模擬器或者ISP工具去燒寫程序;如果開發板有操作系統(Linux),而你想測試的也不是裸機程序,你就按照bingoabc 這位仁兄說的用用sftp,或者更便捷的方式:nfs(NSF方式如何操作自行網路)

PPPS:我覺得你既然都在windows下安裝vmware操作了,不如直接用win下現成下載工具來的快。畢竟你要學的是技術內容,而不是操作方法,下載方式這里就先別糾結了。如果你是運行在linux下而不是虛擬機下,我上述內容應該會有些幫助~

❽ Linux系統中Sublime Text無法輸入中文怎麼辦

1.保存下面的代碼為sublime_imfix.c
代碼如下:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70

/*
sublime-imfix.c
Use LD_PRELOAD to interpose some function to fix sublime input method support for linux.
By Cjacker Huang <jianzhong.huang at i-soft.com.cn>
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
LD_PRELOAD=。/libsublime-imfix.so sublime_text
*/
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
typedef GdkSegment GdkRegionBox;
struct _GdkRegion
{
long size;
long numRects;
GdkRegionBox *rects;
GdkRegionBox extents;
};
GtkIMContext *local_context;
void
gdk_region_get_clipbox (const GdkRegion *region,
GdkRectangle *rectangle)
{
g_return_if_fail (region != NULL);
g_return_if_fail (rectangle != NULL);
rectangle->x = region->extents.x1;
rectangle->y = region->extents.y1;
rectangle->width = region->extents.x2 - region->extents.x1;
rectangle->height = region->extents.y2 - region->extents.y1;
GdkRectangle rect;
rect.x = rectangle->x;
rect.y = rectangle->y;
rect.width = 0;
rect.height = rectangle->height;
//The caret width is 2;
//Maybe sometimes we will make a mistake, but for most of the time, it should be the caret.
if(rectangle->width == 2 && GTK_IS_IM_CONTEXT(local_context)) {
gtk_im_context_set_cursor_location(local_context, rectangle);
}
}
//this is needed, for example, if you input something in file dialog and return back the edit area
//context will lost, so here we set it again.
static GdkFilterReturn event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer im_context)
{
XEvent *xev = (XEvent *)xevent;
if(xev->type == KeyRelease && GTK_IS_IM_CONTEXT(im_context)) {
GdkWindow * win = g_object_get_data(G_OBJECT(im_context),「window」);
if(GDK_IS_WINDOW(win))
gtk_im_context_set_client_window(im_context, win);
}
return GDK_FILTER_CONTINUE;
}
void gtk_im_context_set_client_window (GtkIMContext *context,
GdkWindow *window)
{
GtkIMContextClass *klass;
g_return_if_fail (GTK_IS_IM_CONTEXT (context));
klass = GTK_IM_CONTEXT_GET_CLASS (context);
if (klass->set_client_window)
klass->set_client_window (context, window);
if(!GDK_IS_WINDOW (window))
return;
g_object_set_data(G_OBJECT(context),「window」,window);
int width = gdk_window_get_width(window);
int height = gdk_window_get_height(window);
if(width != 0 && height !=0) {
gtk_im_context_focus_in(context);
local_context = context;
}
gdk_window_add_filter (window, event_filter, context);
}

2.編譯動態庫:
代碼如下:
gcc -shared -o libsublime-imfix.so sublime_imfix.c `pkg-config --libs --cflags gtk+-2.0` -fPIC
3. 設置 LD_PRELOAD 並啟動 Sublime Text:
代碼如下:
LD_PRELOAD=。/libsublime-imfix.so sublime_text
為了不用每次啟動Sublime Text都打這么一長串東西,寫了個啟動Sublime的腳本:
代碼如下:
#!/bin/bash
SUBLIME_HOME=「/opt/sublime_text」
LD_LIB=$SUBLIME_HOME/libsublime-imfix.so
sh -c 「LD_PRELOAD=$LD_LIB $SUBLIME_HOME/sublime_text $@」
把libsublime-imfix.so放到Sublime Text目錄下並修改腳本中的SUBLIME_HOME,這樣Sublime Text 就可以輸入中文了。
上面就是Linux下Sublime Text 無法輸入中文的解決方法的介紹了,只要按照上面的步驟,就能在Sublime Text 中輸入中文了

❾ linux系統開機顯示:give root password for maintenance (or type control-D to continue),求高手

1. 鍵入root密碼,然後按"輸入(Enter)"鍵;
2. 此時畫面便會出現以下指令提示:(Repair filesystem)1#;
3. 於提示後輸入"e2fsck -y /dev/hda2",再按"鍵入(Enter)",便可檢查檔案系統;
4. 系統即會自動進行修復並於畫面顯示修復進度;
5. 完成後鍵入"exit",再按輸入鍵,重新啟動系統。
大部份檔案系統都可用此方法修復好,但如系統或重要的系統檔案損毀嚴重,則必須重新安裝

熱點內容
mac訪問windows共享 發布:2024-10-01 23:31:58 瀏覽:641
java培訓要學什麼 發布:2024-10-01 23:15:54 瀏覽:535
c語言編程學習寶典 發布:2024-10-01 22:35:08 瀏覽:341
無法打開腳本文件 發布:2024-10-01 22:14:51 瀏覽:107
javaxml格式字元串格式 發布:2024-10-01 21:54:03 瀏覽:652
為什麼安卓玩游戲都選驍龍 發布:2024-10-01 21:48:07 瀏覽:373
如何避免伺服器暴露ip 發布:2024-10-01 21:38:24 瀏覽:219
pythonrequestjson 發布:2024-10-01 21:37:37 瀏覽:855
珠海java 發布:2024-10-01 21:07:29 瀏覽:822
伺服器剩餘維護是什麼 發布:2024-10-01 21:03:46 瀏覽:545