このbashスクリプトで入力のフォーマットを実行するのが難しいです。 かなり簡単ですが、 'newstring ='で始まる行を実行するとsed操作は実行されません。自分の入力を最初の空白まで表示してからsedコマンドを直接印刷します後に。私は間違って何をしていますか?私に問題を起こす単純なbashスクリプト
#! /bin/bash
##format paths/strings with spaces to escape the spaces with a forward-slash'\'
##then use 'open' to open finder at current-set directory (based on path)
oldstring="$1"
newstring="$oldstring | sed 's/ /\\ /g')"
cd $newstring
open .
しかし、 'newstring = $(echo" $ oldstring "| sed 's// \\/g')'を使う方がはるかに良いです。 –
また、 'bash'でも(他のシェルAFAIKではなく)' newstring = $(sed 's// \\/g' <<< "$ oldstring") 'を使うことができます。 '$ oldstring'を二重引用符で囲む必要はないかもしれませんが、害はありません。 –
そして、ステートメント –