^#!/usr/bin/ksh
#這里來的兩個變數一個是學號自,一個是數據文件
serial="S1002"
dbfile="cj.db"
#顯示行號和該行的信息
showMessage()
{
sed -n "/${serial}/{=;p;}" ${dbfile}
}
#設置數學成績
setMath()
{
sed "/${serial}/s/:[^:]\{1,\}/:$1/3" ${dbfile}
}
#設置語文成績
setChinese()
{
sed "/${serial}/s/:[^:]\{1,\}/:$1/2" ${dbfile}
}
#設置外語成績
setLanguage()
{
sed "/${serial}/s/:[^:]\{1,\}/:$1/4" ${dbfile}
}
#test
showMessage
setMath 23
setChinese 56
setLanguage 78
//
這個只是列印在屏幕上,如果想寫入文件,還要重定向到一個臨時文件,然後把這個文件改名.就像nxswxxg做的那樣.如果想做成互動式的還要在加些東西.
② 緊急求大神幫忙修改一下linux環境下的shell腳本改為參數化
|test.sh:
#!/bin/bash
for arg in "$@"
do
grep "^$arg" full.properties | sed "s/$arg.//" >> /$arg/config.proerties
done
使用方法內:容
./test.sh ecas manager margin matrix option
③ 如何修改Linux賬戶的默認Shell類型
當我新建了一個賬號,發現登錄後很不習慣。
原來系統給我的shell不是是sh,我都是用bash的,這可怎麼辦來?
當然可以使用
$bash
來切換,但是這個方法治標不治本。
每個賬戶登錄後所啟動的默認shell是保存在/etc/passwd 中的
可以使用cat來查看
$cat /etc/passwd
root:x:0:0:root:/root:/bin/sh
...
#我怎麼可能讓你知道我的賬戶
如果需要修改成我喜歡的bash
$ls -l /etc/passwd
-rw-r--r-- 1 root root 1809 2011-04-29 09:42 /etc/passwd
只有root可寫,只能用root許可權去修改了
$sudo vim /etc/passwd
....
將自己賬戶對應的那行最後部分
由改為/bin/sh修改為/bin/bash
保存重新登錄賬戶即可。
④ 哪位linux高手幫忙寫一個linux的shell腳本~是關於查看修改網卡配置文件的。不勝感激~
#vi config.sh
ifconfig
echo "Please input:0/1/2"
read dir
case $dir in
0)
echo -n "Please enter new ip for eth0:"
read ip0
echo -n "Please enter netmask for eth0:"
read mask0
ifconfig eth0 $ip0 netmask $mask0
service network restart;;
1)
echo -n "Please enter new ip for eth1:"
read ip1
echo -n "Please enter netmask for eth1:"
read mask1
ifconfig eth1 $ip1 netmask $mask1
service network restart;;
2)
echo -n "Please enter new ip for eth2:"
read ip2
echo -n "Please enter netmask for eth2:"
read mask2
ifconfig eth2 $ip2 netmask $mask2
service network restart;;
*)
echo "you can only input 0,1,2";;
esac
# chmod +x config.sh
# ./config.sh
Please input:0/1/2
0
Please enter new ip for eth0:10.254.197.10
Please enter netmask for eth0:255.255.252.0
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0:
Determining IP information for eth0... done.
[ OK ]
================================================
以上是我運行的結果,但我只有一個網卡,所以只是測了eth0. 還沒有做錯誤處理,所以ip和netmask一定要輸入對了才好用。
⑤ linux 系統配置文件
一般的配置文件都是放在/etc目錄下的 (你可以通過輸入:ll /etc命令來列出etc目錄下的具體內容專)
不同的服務對應屬不同的文件。如:
/etc/httpd.conf對應apache服務
/etc/named.conf對應DNS服務
/etc/dhcpd.coonf對應DHCP服務
/etc/samba/smb.conf對應文件共享
/etc/passwd 對應用戶名
/etc/shadow 對應用戶密碼
/etc/ypserv.conf 對應NIS服務
/etc/vsftpd/vsftpd.conf 對應FTP服務
/etc/hosts 對應主機名和IP地址關系
/etc/resolv.conf 對應DNS伺服器的設置
如果你要有所改動的話要根據你的實際需要修改一下相關的配置文件就可以了!不過有的文件的位置是不能修改的!
⑥ 怎麼在linux 裡面修改 userde shell
在Linux裡面修改某個用戶的shell的方法是:先用這個用戶的身份登錄或者切換這個用戶,然後用chsh命令(change shell的簡寫)修改這個用戶的shell,chsh命令的-s參數是設置shell的。比如將當前登錄的用戶修改成C shell的方法如下:
先看看當前C shell是否存在:chsh -l
這條命令會列出所有當前用戶身份可用的shell,C shell應該是/bin/csh,接下來將當前用戶的shell修改成C shell:
chsh -s /bin/csh
⑦ Linux shell 寫一個自動修改系統配置文件的文件
sed's/enabled/disabled/'/etc/selinux/config
需要用到sed 替換命令,enabled前面是哪個參數可以一並加上