#include <stdio.h>
#include <signal.h>
#define MAXARGS 20 /* cmdline args */
#define ARGLEN 100 /* token length */
main()
{
char *arglist[MAXARGS+1]; /* an array of ptrs */
int numargs; /* index into array */
char argbuf[ARGLEN]; /* read stuff here */
char *makestring(); /* malloc etc */
numargs = 0;
while ( numargs < MAXARGS )
{
printf("Arg[%d]? ", numargs);
if ( fgets(argbuf, ARGLEN, stdin) && *argbuf != '\n' )
arglist[numargs++] = makestring(argbuf);
else
{
if ( numargs > 0 ){ /* any args? */
arglist[numargs]=NULL; /* close list */
execute( arglist ); /* do it */
numargs = 0; /* and reset */
}
}
}
return 0;
}
execute( char *arglist[] )
/*
* use fork and execvp and wait to do it
*/
{
int pid,exitstatus; /* of child */
pid = fork(); /* make new process */
switch( pid ){
case -1:
perror("fork failed");
exit(1);
case 0:
execvp(arglist[0], arglist); /* do it */
perror("execvp failed");
exit(1);
default:
while( wait(&exitstatus) != pid )
;
printf("child exited with status %d,%d\n",
exitstatus>>8, exitstatus&0377);
}
}
char *makestring( char *buf )
/*
* trim off newline and create storage for the string
*/
{
char *cp, *malloc();
buf[strlen(buf)-1] = '\0'; /* trim newline */
cp = malloc( strlen(buf)+1 ); /* get memory */
if ( cp == NULL ){ /* or die */
fprintf(stderr,"no memory\n");
exit(1);
}
strcpy(cp, buf); /* chars */
return cp; /* return ptr */
}
❷ Linux shell編程
你看看吧,我寫了一個。第二個多了個$sh後面只有一個$
❸ 我想學習linux 的shell編程 看什麼書比較好呢 視頻教程也行
一是 《鳥哥的LINUX私房菜》 基礎要扎實 平時要多用LINUX,最好是每天用,最好是字元界面。
二是推薦《Linux Shell腳本攻略》 印度人寫的,很不錯。
最後嘗試用shell寫一些小程序,要多動手。
❹ Linux中用Shell編程
#!/bin/sh
echo Please input the first value:
read x
echo Please input the second value:
read y
echo Please input the third value:
read z
if [ $x -gt $y ]
then
x=$y ;
fi
if [ $x -gt $z ]
then
x=$z ;
fi
echo $x
是這個思路,樓上的語法有錯誤
❺ 《LinuxShell命令行及腳本編程實例詳解》epub下載在線閱讀全文,求百度網盤雲資源
《Linux Shell命令行及腳本編程實例詳解》(劉艷濤)電子書網盤下載免費在線閱讀
鏈接:
書名:Linux Shell命令行及腳本編程實例詳解
作者:劉艷濤
出版社:清華大學出版社
出版年份:2015-1
頁數:408
內容簡介:
本書理論結合實踐,全面、系統地介紹了Linux Shell(Bash)腳本編程的語法、命令、技巧等內容。本書偏重於實踐教學,在講解理論知識時,通過一些典型實例讓讀者了解理論知識在實際環境中的應用,並對易混淆和較難理解的知識點做了重點分析,以加深讀者對知識的理解。另外,作者專門為本書錄制了高清配套教學視頻,以幫助讀者高效學習,同時也提供了本書實例源程序以方便讀者學習。
本書共15章,分為兩篇。主要內容包括:Linux及Linux Shell簡介、初識Linux Shell、常用Shell(Bash)命令、Shell命令進階、Shell編程基礎、Shell的條件執行、Bash循環、Shell函數、正則表達式、腳本輸入處理、Shell重定向、管道和過濾器、捕獲、sed和awk,以及其他Linux Shell種類介紹。
本書使用了大量的實例詳細地介紹了Bash的語法及各種技巧,並以循序漸進的方式講解了Linux Shell(Bash)的各種特性,讓讀者能夠迅速上手,並能學以致用。對於初次接觸Linux Shell的讀者,本書是一本很好的自學教材;對於接觸過Linux Shell的讀者,本書可以作為進階讀物或隨時查閱的技術手冊;另外,本書也可以作為高等學校相關專業的教材和各類培訓學校的教材。
作者簡介:
劉艷濤,就職於一家全球500強的通信公司,從事公司無線產品研發中心的Linux/Unix操作系統的管理和技術支持。擁有近6年的Linux系統管理與運維經驗。在使用Shell等腳本實現自動化管理方面有豐富的經驗。擅長配置Nagios與Ganglia集成的自動化監控和故障報警平台。在結合研發環境對Linux系統性能調優方面有深入的研究。
❻ 如何學習linux shell編程
每天學習到2點,,不挺的寫,2個月,shell就熟練了
❼ 《LinuxShell命令行及腳本編程實例詳解》epub下載在線閱讀,求百度網盤雲資源
《Linux Shell命令行及腳本編程實例詳解》(劉艷濤)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1LzVOHvdKkPLVE9wfNoJC2A
書名:Linux Shell命令行及腳本編程實例詳解
作者:劉艷濤
出版社:清華大學出版社
出版年份:2015-1
頁數:408
內容簡介:
本書理論結合實踐,全面、系統地介紹了Linux Shell(Bash)腳本編程的語法、命令、技巧等內容。本書偏重於實踐教學,在講解理論知識時,通過一些典型實例讓讀者了解理論知識在實際環境中的應用,並對易混淆和較難理解的知識點做了重點分析,以加深讀者對知識的理解。另外,作者專門為本書錄制了高清配套教學視頻,以幫助讀者高效學習,同時也提供了本書實例源程序以方便讀者學習。
本書共15章,分為兩篇。主要內容包括:Linux及Linux Shell簡介、初識Linux Shell、常用Shell(Bash)命令、Shell命令進階、Shell編程基礎、Shell的條件執行、Bash循環、Shell函數、正則表達式、腳本輸入處理、Shell重定向、管道和過濾器、捕獲、sed和awk,以及其他Linux Shell種類介紹。
本書使用了大量的實例詳細地介紹了Bash的語法及各種技巧,並以循序漸進的方式講解了Linux Shell(Bash)的各種特性,讓讀者能夠迅速上手,並能學以致用。對於初次接觸Linux Shell的讀者,本書是一本很好的自學教材;對於接觸過Linux Shell的讀者,本書可以作為進階讀物或隨時查閱的技術手冊;另外,本書也可以作為高等學校相關專業的教材和各類培訓學校的教材。
作者簡介:
劉艷濤,就職於一家全球500強的通信公司,從事公司無線產品研發中心的Linux/Unix操作系統的管理和技術支持。擁有近6年的Linux系統管理與運維經驗。在使用Shell等腳本實現自動化管理方面有豐富的經驗。擅長配置Nagios與Ganglia集成的自動化監控和故障報警平台。在結合研發環境對Linux系統性能調優方面有深入的研究。
❽ linux: shell非常簡單的編程
這不是編程……而是一個例子,用命令行執行命令來測試使用不同的使用方法帶來的不同結果而已。
逐一解釋根本沒意義。這是只說 -z 的特殊特性而已。
❾ linux中shell編程
真正的原因是因為在XP(所有的Windows OS也都一樣),每一行斷句是用一個 (^M)字元. 你如果在Linux上用vi編譯器打開你在XP寫的程序就會看到類似下面的(每一行結尾是個^M,而且還會說Incomplete last line)。我建議你在Windows上用WinVi32之類的工具來編寫程序。至於如果要轉換各式的話,樓上的大俠已經有些建議,不再重復。謝謝!
#!/bin/ksh^M
^M
#^M
# this is a comment line^M
^M
echo "hello world"^M
^M
exit 0
❿ linux shell編程
這是 shell script 內容 johnlin55.sh
要求目標用戶允許接收信息( mesg y 命令允許)
----------------------
#!/bin/sh
# 用法: johnlin55.sh 用戶名 問候消息
# 顯示日期
date
# 用戶名、問候
USR="$1"
MSG="$2"
# 用 w 列出登錄用戶,用 grep 檢測
w -h | grep -q "$USE" && {
# 發問候
echo "$MSG" | write "$USR"
}