一、LinuxShell 函數調用
Shell 函數是指在 Shell 腳本中定義的一組可重用的命令序列,它們以函數名的形式來調用。在 LinuxShell 中使用函數可以使腳本更加簡潔、易讀、易用,方便日後維護和重用。
下面是創建一個簡單函數並調用的示例:
#!/bin/bash
myFunction() {
echo "Hello World!"
}
myFunction
以上代碼會輸出 “Hello World!” 到控制台。
同時,Shell函數也可以傳遞參數。
#!/bin/bash
myFunction() {
echo "Hello, $1!"
}
myFunction "John"
以上代碼會輸出 “Hello, John!” 到控制台。
二、Linux函數kill
kill 命令是 Linux 中常見的進程撤銷命令,可以用於結束正在運行中的進程。在 Shell 中,可以使用函數來封裝 kill 命令,方便以後的調用。
#!/bin/bash
killProcess() {
pid=$(ps -ef | grep $1 | grep -v grep | awk '{print $2}')
if [ -n $pid ]; then
kill -9 $pid
echo "Process $1 has been killed."
else
echo "Process $1 is not running."
fi
}
killProcess "nginx"
以上代碼會結束正在運行中的 Nginx 進程,並在控制台輸出相應信息。
三、Linuxkill函數
除了 kill 命令,Linux 中還有一個 killall 命令可以用於結束進程。下面是一個使用函數封裝 killall 命令的示例:
#!/bin/bash
killAllProcesses() {
process=$(ps -ef | grep $1 | grep -v grep | awk '{print $2}')
if [ -n "$process" ]; then
killall -9 $1
echo "All processes named $1 have been killed."
else
echo "No process named $1 found."
fi
}
killAllProcesses "python"
以上代碼會結束所有運行中的 Python 進程,並在控制台輸出相應信息。
四、Linuxsystem函數
system 命令用於在 Shell 中執行指定的命令,通常用於調用外部命令或程序。下面是一個使用函數封裝 system 命令的示例:
#!/bin/bash
runCommand() {
command=$1
if [ -z "$command" ]; then
echo "No command provided."
else
echo "Executing command: $command"
system $command
fi
}
runCommand "ls"
以上代碼會在 Shell 中執行 “ls” 命令,並在控制台輸出相應信息。
五、Linuxfind函數
find 命令用於在 Linux系統中查找文件或目錄。下面是一個使用函數封裝 find 命令的示例:
#!/bin/bash
findFile() {
filename=$1
if [ -z "$filename" ]; then
echo "No filename provided."
else
result=$(find / -name $filename 2>/dev/null)
if [ -z "$result" ]; then
echo "File not found."
else
echo "File $filename found at: $result"
fi
fi
}
findFile "test.txt"
以上代碼會在 Linux 系統中查找名為 “test.txt” 的文件,並在控制台輸出相應的位置信息。
六、Linux函數
date 命令可以用於在 Linux 系統中獲取當前時間。下面是一個使用函數封裝 date 命令的示例:
#!/bin/bash
getCurrentTime() {
current_time=$(date +%Y-%m-%d\ %H:%M:%S)
echo "Current time: $current_time"
}
getCurrentTime
以上代碼會在控制台輸出當前時間。
七、Linuxtime函數
time 命令可以用於在 Linux 系統中統計命令執行的時間。下面是一個使用函數封裝 time 命令的示例:
#!/bin/bash
runCommand() {
command=$1
if [ -z "$command" ]; then
echo "No command provided."
else
echo "Executing command: $command"
time $command
fi
}
runCommand "sleep 1"
以上代碼會執行 “sleep 1” 命令並統計其執行時間,並在控制台輸出相應信息。
八、Linuxread函數
read 命令可以用於在 Shell 中獲取用戶輸入。下面是一個使用函數封裝 read 命令的示例:
#!/bin/bash
getUserInput() {
echo "Please input your name:"
read name
echo "Hello, $name!"
}
getUserInput
以上代碼會在控制台輸出提示信息並獲取用戶輸入,並輸出相應的問候信息。
九、Linuxexec函數
exec 命令用於在 Shell 腳本中執行外部命令或程序,並替換當前 Shell 進程。下面是一個使用函數封裝 exec 命令的示例:
#!/bin/bash
runCommand() {
command=$1
if [ -z "$command" ]; then
echo "No command provided."
else
echo "Executing command: $command"
exec $command
fi
}
runCommand "ls"
以上代碼會在 Shell 中執行 “ls” 命令,並替換當前 Shell 進程,使得命令執行完畢後不會返回到 Shell。
十、Linuxrename函數
rename 命令用於在 Linux 系統中批量重命名文件或目錄。下面是一個使用函數封裝 rename 命令的示例:
#!/bin/bash
renameFiles() {
dir=$1
old=$2
new=$3
if [ -z "$dir" ] || [ -z "$old" ] || [ -z "$new" ]; then
echo "Invalid parameters."
else
rename "s/$old/$new/g" $dir/*
echo "Files renamed successfully."
fi
}
renameFiles "/home/user/test" "old" "new"
以上代碼會將 “/home/user/test” 目錄下所有文件中的 “old” 替換為 “new”,並在控制台輸出相應信息。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280837.html
微信掃一掃
支付寶掃一掃