subshell

    1熱度

    2回答

    我試圖運行使用別名的xargs的命令。搜索想出了這個 alias gojk 'stsq \!:1 | xargs -t -0 -I {} tcsh -c source ~/.tcshrc.user;myset {}' 但它返回 Bad ! arg selector 和變化都將返回 source: too few arguments.

    1熱度

    1回答

    所以,我認定我的bash腳本的行爲,我覺得很奇怪。 下面是測試腳本: echo "start of script" ( echo "start of subshell" cat > /tmp/$$ << EOF trap 'exit 99' SIGINT echo "sleep 10, hit ctrl+c now" sleep 10 EOF chmod +x /tmp/$

    37熱度

    3回答

    如何將多個命令的標準輸出集合到單個命令中? 實施例1:結合和排序所有三個回波命令的輸出: echo zzz; echo aaa; echo kkk 期望的輸出: aaa kkk zzz 實施例2:重寫以下,以使所有命令都是在一個單一的命令行使用管道,而不重定向到臨時文件: setopt > /tmp/foo; unsetopt >> /tmp/foo; set >> /tmp/foo;

    2熱度

    1回答

    我有以下bash腳本(這是更復雜腳本的簡化版本)。 #!/usr/bin/env bash set -x function execute() { `$1` # same as $($1), gives "command not found" as do all the following: # $1 # or ${1} # eval "$1" # e

    1熱度

    2回答

    上下文: 說我有: ( #outer subshell { #inner command group, pipe-connected to ensure simultaneous invocation do_first_thing #die, somehow } | { #inner command group, pipe-conne

    2熱度

    1回答

    我剛剛瞭解了bash中的別名。我創建了一個像這樣: alias="cd $directory" 其中$directory是從使用的輸入。在另一個shell腳本,我可以啓動一個子shell像這樣: (bash) 這使我的子shell,在那裏,如果我跑cd,我去了別名,cd $directory。這很好,它似乎按預期工作。 什麼我要找的是當子shell啓動的,該CD自動發生,所以我嘗試: (bash

    0熱度

    2回答

    我有這樣的腳本? command='scp xxx 192.168.1.23:/tmp' su - nobody -c "$command" 主殼沒有打印任何信息。 如何從子命令中獲取輸出?

    55熱度

    4回答

    我是用我的bash功能「退出1」語句來終止整個腳本,它工作得很好: function func() { echo "Goodbye" exit 1 } echo "Function call will abort" func echo "This will never be printed" 但後來我意識到,當所謂的喜歡它不這樣做的工作: res=$(func)

    2熱度

    3回答

    可能重複: Spawn a background process in Ruby 花了幾天在這個戳。直到最近,我一直在使用操作系統中的ruby 1.8.7。我會用反引號來調用子shell。子shell是一個bash包裝器,它將調用在後臺運行任何程序,stdout和stderr都關閉。然後,它不再讓init接管該進程,並立即返回。這個工作很好,多年來,我會有這個循環過程在後臺啓動工作,並立即回報「是

    3熱度

    2回答

    我正在寫一個bash腳本,我希望它崩潰的第一個錯誤。但是,我不能讓它這樣做在特定的情況下我下面簡單: #!/bin/bash set -Exu bad_command() { false #exit 1 echo "NO!!" } (set -o pipefail; bad_command | cat ; echo "${PIPESTATUS[@]}; $?"