我在玩bash讀取功能。我喜歡我目前shell中的一個簡單圖層。讀-e沒有tab-complete和以前的命令,並且用ctrl + d發送EOF讓我回到我的原始shell。這裏是我的參考: Bash (or other shell): wrap all commands with function/script 我想一些幫助處理SIGINT,CTRL + C。在一個正常的shell中,如果你開始輸
雖然Bash man page指出:如果失敗的命令是......在& &或執行命令的一部分 不執行ERR陷阱||列表... 我希望在一個子shell中的代碼將在不同的上下文,不會受到上述限制。下面的代碼表明,即使子shell都沒有不受此限制免疫: #!/bin/bash
main()
{
local Arg="$1"
(
set -e
echo "I
實際的信號,我在幾個地方讀(SO包括)該-e被認爲是「窮人的形式」,是不可靠的對任何錯誤退出腳本。一個更好的辦法來處理錯誤好像是用trap,因爲這樣的: trap "echo there was an error; exit 1;" ERR
我似乎無法在手冊頁什麼信號ERR實際上是定位?我假設它是SIGQUIT,但我無法確定。 man 7 signal
只有你所期望的SIGTERM SIG
我需要檢測何時退出其中一個後臺進程。因此,我安裝了一個陷阱。 run_gui和run_ai1簡單exec功能。 run_gui & gui_pid=$!
run_ai1 & ai1_pid=$!
trap 'echo foo' SIGCHLD
while true; do
echo "Started the loop"
while true; do
read
好的,所以我是一個bash腳本的初學者,我意識到這個問題可能有點笨拙,但我會盡可能清楚! 我寫了下面的腳本來創建一個文件夾中的存儲庫的備份。該腳本如下: #!/bin/bash
SVNREPO="/var/svn"
TEMP="/var/tmp"
BACKUP="/home/helix/backups"
cd $SVNREPO
if [ $# -eq 0 ]; then