如何创建shell脚本?
创建方法如下:
1、touch hello.sh
2、vim hello.sh
键入i
插入#!/bin/sh
echo hello world;
键入:
esc
:
wq
3、chmod 700 hello.sh
4.、执行./hello.sh
扩展资料:
关于linux shell 文件的操作总结
1、创建文件夹
#!/bin/sh
mkdir -m 777 "%%1"
2、创建文件
#!/bin/sh
touch "%%1"
3、删除文件
#!/bin/sh
rm -if "%%1"
4、删除文件夹
#!/bin/sh
rm -rf "%%1"
5、删除一个目录下所有的文件夹
#!/bin/bash
direc="%%1" #$(pwd)
for dir2del in $direc/* ; do
if [ -d $dir2del ]; then
rm -rf $dir2del
fi
done
6、清空文件夹
#!/bin/bash
direc="%%1" #$(pwd)
rm -if $direc/*
for dir2del in $direc/* ; do
if [ -d $dir2del ]; then
rm -rf $dir2del
fi
done
7、读取文件
#!/bin/sh
创建shell脚本的过程非常简单,主要包括编写脚本和执行脚本两个步骤。下面是一个基本的教程:
1. 编写脚本
首先,你需要一个文本编辑器。你可以使用任何你喜欢的文本编辑器,比如vim, nano, emacs等。在这个例子中,我们将使用nano。
在命令行中输入以下命令来创建一个新的shell脚本文件:
bash复制代码
nano myscript.sh
这将使用nano编辑器创建一个名为myscript.sh的新文件。现在,你可以在这个文件中输入你的shell脚本。
一个简单的shell脚本例子可能如下所示:
bash复制代码
#!/bin/bash
# 这是一个简单的shell脚本示例
echo "Hello, world!"
在这个脚本中:
#!/bin/bash 是一个特殊的行,称为"shebang",它定义了运行此脚本的解释器。在这个例子中,我们使用/bin/bash,这是Bash shell的路径。
# 这是一个简单的shell脚本示例 是一个注释。在shell脚本中,任何以#开头的行都被视为注释,不会被执行。
echo "Hello, world!" 是一个命令,它会在终端打印出"Hello, world!"。
2. 保存并退出
在nano编辑器中,你可以按Ctrl+O保存文件,然后按Enter确认。完成后,按Ctrl+X退出编辑器。
3. 执行脚本
要执行你的脚本,你需要使其可执行,这可以通过使用chmod命令完成:
bash复制代码
chmod +x myscript.sh
现在,你可以通过以下命令来运行你的脚本:
bash复制代码
./myscript.sh
如果一切正常,你应该会在终端看到"Hello, world!"的输出。
绛旓細1銆佺櫥褰旵entOS7绯荤粺锛屾墦寮缁堢锛岃緭鍏ュ懡浠nv shell鎵撳嵃鍑簊hell杩涚▼鐨勭幆澧冨彉閲忋2銆佹湰鍦板彉閲忓彧瀛樺湪褰撳墠shell杩涚▼銆鏂板缓涓涓湰鍦板彉閲廙YVAR=myvalue娉ㄦ剰绛夊彿涓よ竟涓嶈兘鏈夌┖鏍笺3銆佹煡鐪嬫湰鍦板彉閲弒et鏌ョ湅鎸囧畾鏈湴鍙橀噺set | grep MYVAR銆4銆佸鍑烘湰鍦板彉閲忎负鐜鍙橀噺export MYVAR銆5銆佸垹闄ゆ湰鍦板彉閲忔垨鐜鍙橀噺unset ...
绛旓細1銆佸湪缂栧啓shell鑴氭湰鐨勬椂鍊欎竴鑸細鍏堟煡璇㈡湇鍔″櫒鍙互浣跨敤鍝鑴氭湰锛屽苟涓旀煡鐪嬫湇鍔″櫒浣跨敤鐨勯粯璁よ剼鏈柟寮忔槸鍝竴绉嶃2銆佽繘鍏hell鐨勬柟寮忎篃鏄痩inux绯荤粺涓粡甯镐娇鐢ㄧ殑缁堢宸ュ叿锛屼篃鍙互鏄閮ㄩ摼鎺ヨ蒋浠讹紝杩欎袱绉嶆柟寮忛兘鏄彲浠ョ殑銆3銆佽繘鍏ョ粓绔悗鍙互鐪嬪埌鍛戒护琛屽墠鐨勬彁绀虹涓$绗﹀彿锛岃繖浠h〃鐧诲綍鐨勬槸鏅氱敤鎴峰湪鍒涘缓shell鑴氭湰锛...
绛旓細缂栧啓shell鑴氭湰 棣栧厛浣犺鏈塋inux鍛戒护鐨勫熀纭锛鎬庝箞杩涘叆鏂囦欢锛屾庝箞鎵ц鏂囦欢锛屾湁浠涔堝懡浠ょ瓑绛夈傛垜浠殑shell 绫诲瀷鏈夊緢澶氾紝甯歌鐨剆hell鐜鏈塻h锛宐ash锛宑sh锛寊sh绛夌瓑銆傚湪Linux鐨勮剼鏈腑鍙互鏈甯歌鐨勫氨鏄 sh鎴栬卻hell銆傚湪shell鑴氭湰涓渶寮濮 瑕佹寚瀹歴hell鐜銆備簬鏄箮鎴戜滑鏈変簡shell鐨勬矙閭︼細/bin/sh 鎴栬/bin/bash s...
绛旓細"...", name: "..."}鐨刯son瀵硅薄.shell鏂囦欢璇诲啓 1銆佸啓 鏂瑰紡涓:灏唋l鐨勫唴瀹瑰啓鍏ileName杩欎釜鏂囦欢涓 >鏄鐩, >>鏄湪鍚庨潰杩藉姞 ll >fileName 浣嗘槸鍦ㄤ功鍐.sh鑴氭湰鐨勬椂鍊, 闇瑕佸鍔爀cho echo ll>fileName 2銆佽 while read LINE do echo $LINE done<fileName fileName鏄嵆灏嗚鍙栫殑鏂囦欢鍚 ...
绛旓細Shell鐨勫伐浣滃舰寮忓垎涓轰袱绉 1.浜や簰寮(Interactive):鐢ㄦ埛杈撳叆涓鏉″懡浠わ紝Shell瑙i噴骞舵墽琛屼竴鏉°2.鎵瑰鐞(Batch):鐢ㄦ埛浜嬪厛缂栧啓涓涓Shell鑴氭湰(Script)锛屽叾涓寘鍚澶氬懡浠わ紝Shell浼氫竴娆℃墽琛屽畬鎵鏈夊懡浠ゃ傜紪璇戠畝鍗曠殑鑴氭湰 Shell鑴氭湰鐨勭紪鍐欒浣跨敤鍒癡im鏂囨湰缂栬緫鍣紝鎸夌収鍛戒护鐨勬墽琛岄『搴忎緷娆$紪鍐欙紝姣忚鍐欎竴鏉inux鍛戒护銆
绛旓細褰撶劧锛岃繕闇瑕佺粰鑴氭湰鍔犱笂鍙墽琛屾潈闄(chmod+x./file.sh)锛屽惁鍒欏彲浠ョ敤sh./file.sh鏂瑰紡鎵ц鑴氭湰(杩欓噷鐨剆h鏄墽琛岃剼鏈墍闇shell锛屽懡浠や篃鍙互鏄痾sh./file.sh鎴栧叾浠)銆傚涔爈inux鍩烘湰鍛戒护锛屾帹鑽愩妉inux灏辫杩欎箞瀛︺嬶紒kalilinux鎬庝箞鍐檚h鑴氭湰锛鐢╲im缂栬緫鍣鍒涘缓涓涓shell鑴氭湰鏂囦欢锛屽湪鑴氭湰鏂囦欢閲岃緭鍏ラ渶瑕佹墽琛岀殑shell...
绛旓細1銆佲shell鈥濅腑鏈変竴涓壒娈婂彉閲忊$#鈥濓細琛ㄧず鍖呭惈鍙傛暟鐨勪釜鏁帮紱2銆佲渋f [ $# -ne 3 ] ; then # 鈥濓細濡傛灉鍙傛暟涓嶄负3涓 3銆佽緭鍏モ渋f [ $# -ne 3 ];then echo errorelse echo "$1 $2 $3"if鈥濆疄绾跨殑鏂瑰悜鏄富瑕佹祦绋嬶紝铏氱嚎琛ㄧず琚皟鐢ㄧ殑閰嶇疆鏂囦欢銆傚湪login shell鐨勭幆澧冧笅锛屾渶缁堣璇诲彇鐨勯厤缃...
绛旓細Shell鐨勫伐浣滃舰寮忓垎涓轰袱绉 1.浜や簰寮(Interactive):鐢ㄦ埛杈撳叆涓鏉″懡浠わ紝Shell瑙i噴骞舵墽琛屼竴鏉°2.鎵瑰鐞(Batch):鐢ㄦ埛浜嬪厛缂栧啓涓涓Shell鑴氭湰(Script)锛屽叾涓寘鍚澶氬懡浠わ紝Shell浼氫竴娆℃墽琛屽畬鎵鏈夊懡浠ゃ傜紪璇戠畝鍗曠殑鑴氭湰 Shell鑴氭湰鐨勭紪鍐欒浣跨敤鍒癡im鏂囨湰缂栬緫鍣紝鎸夌収鍛戒护鐨勬墽琛岄『搴忎緷娆$紪鍐欙紝姣忚鍐欎竴鏉inux鍛戒护銆
绛旓細涓鑸潵璇达紝鐢ㄦ埛鍙互鐩存帴閫氳繃PowerShell ISE鏉鍒涘缓鎵╁睍鍚嶄负.ps1鐨勮剼鏈枃浠讹紝涔熷彲浠ラ氳繃璁颁簨鏈瓑閫氱敤宸ュ叿鍐欎唬鐮侊紝鐒跺悗鏀规墿灞曞悕鏉ュ垱寤恒備絾杩欎簺鏂瑰紡閮界暐鏄鹃夯鐑︼紝涓嶅鐩存帴鍒涘缓鏉ョ殑鐥涘揩銆傛兂瑕佺粰鍙抽敭鑿滃崟娣诲姞PowerShell鑴氭湰鏂板缓椤癸紝鍙渶瑕佹坊鍔犱竴涓敞鍐岃〃鍊硷紝鎿嶄綔鐩稿瀹规槗銆傚叿浣撳涓嬶細1銆佸湪Cortana鎼滅储鏍忚緭鍏egedit锛...
绛旓細涓鑸潵璇达紝鐢ㄦ埛鍙互鐩存帴閫氳繃PowerShell ISE鏉鍒涘缓鎵╁睍鍚嶄负.ps1鐨勮剼鏈枃浠讹紝涔熷彲浠ラ氳繃璁颁簨鏈瓑閫氱敤宸ュ叿鍐欎唬鐮侊紝鐒跺悗鏀规墿灞曞悕鏉ュ垱寤恒備絾杩欎簺鏂瑰紡閮界暐鏄鹃夯鐑︼紝涓嶅鐩存帴鍒涘缓鏉ョ殑鐥涘揩銆傛兂瑕佺粰鍙抽敭鑿滃崟娣诲姞PowerShell鑴氭湰鏂板缓椤癸紝鍙渶瑕佹坊鍔犱竴涓敞鍐岃〃鍊硷紝鎿嶄綔鐩稿瀹规槗锛屽叿浣撴楠ゅ涓嬶細1銆佸湪Cortana鎼滅储鏍忚緭鍏...