Linux下shell的工作原理

Linux中有多種shell,其中預設使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的特性。 shell是使用者和Linux作業系統之間的介面。Linux中有多種shell,其中預設使用的是Bash。本章講述了shell的工作原理,shell的種類,shell的一般操作及Bash的特性。 什麼是shell

超級簡單的 linux網站備份指令碼 shell

#!/bin/bash #Shell Command For Backup MySQL Database Everyday Automatically By Crontab #Author : Linsong #Date : 2011-10-11 service mysqld stop filedate=`date +%Y%m%d` mkdir -p /home/backup/$filedate tar -zcvf /home/backup/$filedate/web.tar.gz

shell指令碼中使用了管道符,導致變數賦值丟失的原因

發現這個問題來自對SGE的startmpi.sh指令碼做改造的時候。考慮如下一段shell代碼: Code highlighting produced by Actipro CodeHighlighter

linux 應用程式裡面調用shell

在Linux的應用程式裡面調用我的shell(這玩意功能實在太強大)的辦法有很多種一般來說有fork()、exec*()、pipe、system()其中又以system()調用很少方便,現在加以說明。#include<stdlio.h>#include<stdlib.h>int main(){   system(“ifconfig eth0 10.17.28.1”);//system(“./ifconfig.sh”);使用你的指令碼shell路徑要注意   return

shell中括弧的特殊用法

Shell中的括弧有其特殊的用法, 現總結如下:1. 符號$後的括弧${a} 變數a的值, 在不引起歧義的情況下可以省略大括弧.$(cmd) 命令替換, 結果為shell命令cmd的輸出, 和`cmd`效果相同, 不過某些Shell版本不支援$()形式的命令替換, 如tcsh.$((exp)) 和`expr exp`效果相同, 計算數學運算式exp的數值, 其中exp只要符合C語言的運算規則即可, 甚至三目運算子和邏輯運算式都可以計算.2. 多條命令執行(cmd1;cmd2;cmd3)

讀書筆記之:Linux與Unix shell編程指南

這本書之前看過一遍,也寫過讀書筆記,這本書不錯,再看一遍是為了加深記憶。第1章 檔案安全與許可權1. 目錄許可權位目錄的許可權位和檔案有所不同。目錄的讀許可權位意味著可以列出其中的內容。寫入權限位意味著可以在該目錄中建立檔案,如果不希望其他使用者在你的目錄中建立檔案,可以取消相應的寫入權限位。執行許可權位則意味著搜尋和訪問該目錄。2. 使用和設定suid/guid 3. umask的使用umask其實可以這樣理解:就是通過這個來指定需要去除的許可權, 第2章 使用find和xargs1.

我學shell程式的記錄

1. 將目前的目錄下的檔案去除尾碼名".sh" for i in `ls .` do   mv -v $i `echo ${i%%.sh}` done2.shell中在列檔案目錄時防止帶空格的檔案名稱被顯示成2個檔案帶空格的檔案名稱變數不被當成兩個參數 ls -1 目錄路徑 | while read linedoecho

Shell指令碼中的$類參數

$# 是傳給指令碼(或者函數)的參數個數, $0 是指令碼本身的名字, $@ 是傳給指令碼(或者函數)的所有參數的列表. 舉例:cat foo.sh#!/bin/bashecho "script name   : $0"echo "# of arguments: $#"echo "all arguments : $@"echo "arguments in order:"for sArg in "$@"; do    echo "  $sArg"done----------------------

Solaris 預設Shell 修改

 Solaris 有很多方面都用這和以前不大一樣,下面講Solaris中Shell的一些問題和解決方案。Solaris的預設Shell是sh,即命令列提示符為(root使用者):#而在用Linux命令列的提示符中既有使用者名稱,還有主機名稱以及當前路徑的名稱。這樣可以給人一目瞭然的感覺。不過Linux下一般預設Shell是bash,而不是sh。如果只想在當前的使用中切換Shell的話,方法很簡單,可以在命令列中輸入:$ bashbash-3.00$ cshdavid% sh$如果要永久性的改變預

Linux shell指令碼 遍曆帶空格的檔案名稱

一般的寫法是for f in `ls ./`但是如果檔案名稱中帶空格,比如"A B" 那麼雖然ls能正確列出,但是for卻會把空格當成分隔字元 將A,B分別賦給f,導致變成兩個檔案名稱研究發現問號?在檔案名稱中也可以代表空格。因此可以這樣寫:for f in `ls ./ | tr " " "\?"`先將ls的每一行的空格用tr替換為問號。這樣的f可以執行mv,cp等操作。echo也能正確將?變成空格顯示。要是涉及到字串操作不爽,反正現在已經在變數裡面了可以直接替換回來f=`tr "\?" "

總結linux環境幾個特殊的shell變數

 ########################總結幾個特殊的shell變數:######################################################################################http://hi.baidu.com/xece/modify/blog/75327e382149dae23b87ce5a############################################################ 特殊

[Erlang 0031] Erlang Shell中的輸出完整資料

前兩天群裡面有人問shell裡面長資料被省略為 [...]|...],如何查看被省略的部分,他是在調用os:getenv()的時候遇到的這個問題,咱們前面也遇到過類似的問題,比如 string:tokens(binary_to_list(erlang:system_info(info)),"\n").Eshell V5.9 (abort with ^G)1> string:tokens( binary_to_list(erlang:system_info(info)),"\n").["

非程式員的GNU Emacs使用心得…… Shell Mode 第5集 曆史命令雜談

這是一些比較雜亂的小東西們,任何一個都沒有辦法獨立成節,就把他們湊在一起羅嗦一下吧。按說這些亂七八糟的小東西們應該放到最後弄一個類似雜物箱之類的章節,但是鑒於這些亂七八糟的內容多數還是和曆史命令相關的東西,想想還是放到一起來說一下吧。 在上一節曆史命令編輯裡面提到了兩種命令的重複,一種是在複雜應用程式的不同執行個體之間的重複,另一種則是複雜的命令在不同的系統,不同的機器之間的重複。這後一種命令的重複使用 Bash 的曆史命令功能可就徹底的鞭長莫及了。畢竟 Shell

非程式員的GNU Emacs使用心得…… Shell Mode 第1集 序言

作為一個非程式員和軟體品質控制人員,日常工作當中做的最多的事情莫過於進行軟體品質測試。軟體品質測試的時候,就需要頻繁搭建測試環境,配置測試載入器,運行測試案例,等等等等,因此在我的工作當中不可避免的需要大量的和 Shell來打交道。因此在我的 Emacs生涯當中,使用最頻繁的模式莫過於 Emacs 的 Shell-mode。 當然,程式員的工作當中也會用到 Shell。但是從網上的大量文章裡面能夠看出來,很多程式員要麼直接使用  terminal(包括 Xterm, RXVT 等等)去運行

非程式員的GNU Emacs使用心得…… Shell Mode 第2集 前傳

為什麼說Shell-mode是很好的應對這種複雜環境的工具呢?讓我們先來看看 Shell在這種環境當中存在的問題,然後再來看看 Emacs的 Shell-mode怎樣很好的解決了這些麻煩的問題。 首先就是 Shell的個人化問題。或者叫配置問題。這麼說吧,到CU這裡來的沒有幾位是不改任何 profile就成天在 Shell裡面裸奔的吧。看似簡單的個人化配置在這種複雜的環境裡面就是一件很麻煩的事。很顯然不可能給每一台機器,每一個使用者都定製一套個人化的,完整的

shell 指令碼 —批量重新命名

工作中遇到一個小需求,需要對一系列的檔案進行重新命名。原始格式是string_1.obj,現在想把檔案名稱中的數字變成定長的,不足位元往前補零,即變成string_001.obj這種形式。自己學著寫了個指令碼,很菜的,貼上來請大家指點一下。#! /bin/bash# this script is used to rename files# the orignal filename is as XXXX_1.obj# and the final filename is as

在shell中產生隨機數

原文寫於2010-11-03 18:29:20,網易部落格,已刪.      要在shell中產生隨機數,在bash中可以調用$RANDOM,引用一段對RANDOM的介紹.      Each time this is referenced, a random integer between 0 and 32767 is generated. The sequence of random numbers may be initialized by assigning a value

Bash shell(五)-資料流重導向

資料流重導向就是將某個指令執行後應該要出現在螢幕上的資料, 給他傳輸到其它的地方,例如檔案或者是裝置 (例如印表機之類的!)!這玩意兒在 Linux 的文字模式底下可重要的! 尤其是如果我們想要將某些資料儲存下來時,就更有用了! 一般來說,如果你要執行一個指令,通常他會是這樣的: 我們執行一個指令的時候,這個指令可能會由檔案讀入資料,經過處理之後,再將資料輸出到螢幕上。 在圖中, standard output 與 standard error 分別代表標準輸出與標準錯誤輸出,

【Shell指令碼】顏色顯示

作者:gnuhpc 出處:http://www.cnblogs.com/gnuhpc/顏色是通過添加專用序列來選擇的 -- 基本上是夾在 "/e["和 "m" 之間數字值。如果指定一個以上的數字代碼,則用分號將它們分開。 echo -e "/e[31;40m" 第一個數字(31)為前景顏色(紅色);第二個數字為(40)背景顏色(黑色) echo -e "/e [0m" 我們需要使用 "/e[0m" 序列將顏色重新設定為正常值。 /033 [30m -- /03

【Shell指令碼】awk中如何使用shell的環境變數

作者:gnuhpc 出處:http://www.cnblogs.com/gnuhpc/一:"'$var'" 這種寫法大家無需改變用'括起awk程式的習慣,是老外常用的寫法.如: var="test"awk 'BEGIN{print "'$var'"}' 這種寫法其實際是雙括弧變為單括弧的常量,傳遞給了awk. 如果var中含空格,為了shell不把空格作為分格符,便應該如下使用: var="this is a test"awk 'BEGIN{print "'"

總頁數: 301 1 .... 225 226 227 228 229 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.