如何使用Bash迭代文本文件的每一行?
使用此脚本:
echo "Start!"
for p in (peptides.txt)
do
echo "${p}"
done
Run Code Online (Sandbox Code Playgroud)
我在屏幕上看到这个输出:
Start!
./runPep.sh: line 3: syntax error near unexpected token `('
./runPep.sh: line 3: `for p in (peptides.txt)'
Run Code Online (Sandbox Code Playgroud)
(后来我想做一些$p比输出到屏幕更复杂的事情.)
环境变量SHELL是(来自env):
SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)
/bin/bash --version 输出:
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)
cat /proc/version 输出:
Linux version 2.6.18.2-34-default (geeko@buildhost) (gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)) #1 SMP Mon Nov 27 11:46:27 UTC 2006
Run Code Online (Sandbox Code Playgroud)
文件peptides.txt包含:
RKEKNVQ
IPKKLLQK
QYFHQLEKMNVK …Run Code Online (Sandbox Code Playgroud) 我有一个我调用的shell脚本,osascript它osascript调用一个shell脚本并传入我在原始shell脚本中设置的变量.我不知道如何将该变量从applescript传递到shell脚本.
如何将变量从shell脚本传递到applescript到shell脚本......?
如果我没有意义,请告诉我.
i=0
for line in $(system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'); do
UDID=${line}
echo $UDID
#i=$(($i+1))
sleep 1
osascript -e 'tell application "Terminal" to activate' \
-e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' \
-e 'tell application "Terminal" to do script "cd '$current_dir'" in selected tab of the front window' \
-e …Run Code Online (Sandbox Code Playgroud) 我有以下内容,不起作用。它在终端中打开一个新选项卡,但变量 $DomainName 未传入?
DomainName="example.com"
osascript -e 'tell application "Terminal" to do script "watch dig +short NS $DomainName"'
Run Code Online (Sandbox Code Playgroud)
结果是:
watch dig +short NS $DomainName
Run Code Online (Sandbox Code Playgroud)
如何传入变量?