查看完整版本 : [請教]Linux的指令
請問在linux中如果我想按一個鍵盤就能自動執行某個指令,就像很早以前dos系統中的batch自動執行檔一般,該如何做?
謝謝先。
ismile
2005-01-27, 10:55 AM
寫一小檔案,
#!/bin/sh
...............(指令)
...............(指令)
...............(指令)
存檔 filename
改權限 chmod 700 filename
執行 ./filename (enter)
ismile
2005-01-27, 11:51 AM
加到 /etc/rc.local 檔案
/存放目錄/./filename
加到 /etc/rc.local 檔案
/存放目錄/./filename
Thank you.
我試了幾次都不成功,不知是怎麼回事?
osmomo
2005-01-27, 12:47 PM
Thank you.
我試了幾次都不成功,不知是怎麼回事?
1. 創建一檔案名為StartMe => touch StartMe
2. 修改檔案內容 => vi /所在目錄/StartMe
3. 給予執行(x)的屬性 => chmod 700 StartMe
4. 修改 /etc/rc.d/rc.local => vi /etc/rc.d/rc.local
5. 加入StartMe檔案位置 => /所在目錄/StartMe
:that is :
修改 /etc/rc.d/rc.local => vi /etc/rc.d/rc.local
這個的目錄我這兒找不到,而是/etc/rc.local,應該就是指這個吧?還是要另外按你這個路徑另設新檔?
如果是按我既有的/etc/rc.local,我都如此做了,還是無效?
該要執行的檔案本身好像也是一個這種檔案,附檔名是.SH,只因它本身也是在/home/xxx/xxx/xxxx.sh之下,每次開機後還要經過一層層目錄才能下達./xxxx.sh的指令讓它動作。目前已照ismile所說自己另設一個123檔,一進到root目錄下就只要打./123就可執行,這一點已經成功了。
就是想再懶一點讓它一開機就自動執行...... ?:D
ismile
2005-01-27, 08:19 PM
試試 /路徑/blah/blah/./檔名
像 /root/./xxxx.sh
osmomo
2005-01-27, 09:55 PM
這個的目錄我這兒找不到,而是/etc/rc.local,應該就是指這個吧?
還是要另外按你這個路徑另設新檔?
/etc/rc.local 也是 :D
如果是按我既有的/etc/rc.local,我都如此做了,還是無效?
該要執行的檔案本身好像也是一個這種檔案,附檔名是.SH,只因它本身也是在/home/xxx/xxx/xxxx.sh之下,每次開機後還要經過一層層目錄才能下達./xxxx.sh的指令讓它動作。目前已照ismile所說自己另設一個123檔,一進到root目錄下就只要打./123就可執行,這一點已經成功了。
就是想再懶一點讓它一開機就自動執行...... ?:D
假如我的 rc.local 檔案內容如下
#!/bin/sh
/var/bin/apachectl start <==(這行是假設)
/home/xxx/xxx/program <==(這行是假設)
/home/xxx/xxx/xxxx.sh <==加入這一行,您說的那一個檔案位置
/root/123 <==或是加入這一行,您設定的123檔案
這樣不能自動啟動嗎? ~embarass:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/home/123flashchat/server/./fcserver.sh
這是我目前的rc.local,最後那一行就是我加入的,does not work :(
/root/123 <==或是加入這一行,您設定的123檔案
後來加入/root/./123這一行之後,開機後已能主動執行了 ~yes
但為何前面那行不行?我懷疑路徑有問題?這個home到底在哪個主目錄之下啊? ~rusure
osmomo
2005-01-27, 10:35 PM
後來加入/root/./123這一行之後,開機後已能主動執行了 ~yes
但為何前面那行不行?我懷疑路徑有問題?
這個home到底在哪個主目錄之下啊? ~rusure
/home 嗎?
他就是 /home 囉 ?:D
沒有在哪一個主目錄下面..
如果你直接鍵入
/home/123flashchat/server/./fcserver.sh 後按 Enter
可以執行嗎?
猜測
可能是 [Linux安全性問題] 或是 [fcserver.sh寫法安全性] 的問題吧? ~embarass:
再請教新的問題:
如果我有多個檔案,例如xxx01.gif xxx02.gif xxx03.gif....xxx88.gif,我想一次性的把前面的xxx改成aaa,而成為aaa01.gif aaa02.gif...aaa88.gif,該如何改?
我查一下google只有一個有談到類似狀況的for bash:
for i in [0-9][0-9].png
do
mv $i abc$i.png
done
但我怎麼改都不會成為我要的。它這個例子是在既有的數字前加上新的一個字串,而我是要取代既有字串成為其他字串,該如何下指令呢?
謝謝先。
自己回答一下:
我發現在windows xp的檔案總管中可以批次更改檔名。目前就先如此做了。
osmomo
2005-01-30, 01:46 AM
再請教新的問題:
如果我有多個檔案,例如xxx01.gif xxx02.gif xxx03.gif....xxx88.gif,我想一次性的把前面的xxx改成aaa,而成為aaa01.gif aaa02.gif...aaa88.gif,該如何改?
我查一下google只有一個有談到類似狀況的
for bash:
for i in [0-9][0-9].png
do
mv $i abc$i.png
done
他的mv那行有多出.png
這樣會讓檔名變成 abcXX.png.png
如果要在Linux下達您想要的結果
xxx01.gif xxx02.gif .... ==> aaa01.gif aaa02.gif ....
不會呢.. ~embarass:
小弟程式功力有限,不能幫上忙 ~dead
W$系統, 有出滿多軟體可以可批次更改檔名
vBulletin® v3.8.4,版權所有 ©2000-2026,Jelsoft Enterprises Ltd.