Я создаю минимальные сценарии оболочки для своих частых команд и даю им краткие названия. Они все хранятся в том же месте, которое добавляется к PATH
.
Тем путем у меня есть доступ ярлыка к очень сложным командам, и в отличие от этого с alias
Я могу превратить изменяемые части своей задачи в параметры командной строки моего ярлыка.
Если Вы используете bash
, можно использовать Расширение Параметра:
dt=${dt//$'\n'/} # Remove all newlines.
dt=${dt%$'\n'} # Remove a trailing newline.
Следующее должно работать в /bin/sh
также:
dt="${dt%
}" # Remove a trailing newline.
Кажется, что Вам нужны "TR", что-то как:
echo ${dt} | tr -d '\n'
TR человека для детали, как обычно
Эта работа над Linux (удар):
dt="$(echo "$dt"|tr -d '\n')"
На Linux или других системах с утилитой даты GNU, это также работает для получения того значения для dt: (не вовлекая Oracle...)
dt="$(date -d 'yesterday' +%Y%b%d)_$(date -d '7 days ago' +%Y%b%d)"
echo 'puts [clock format [clock scan "-1 week"] -format %Y%b%d]_[clock format [clock scan yesterday] -format %Y%b%d]' | tclsh
– glenn jackman
29.11.2012, 16:55
СТРАНИЦЫ НАБОРА [IZE] {14 | n} Определяют номер строк на каждой странице вывода. Можно обнулить РАЗМЕР СТРАНИЦЫ для подавления всех заголовков, разрывов страницы, заголовков, начальной пустой строки и другой информации о форматировании.
поэтому добавьте a set pagesize 0
к Вашему сценарию для предотвращения направляющейся пустой строки.
для большинства моих сценариев я использую настройки в следующей части кода кода:
dt=`sqlplus -s user/pwd@servicename < < EOF set feedback off set pagesize 0 set trimout on set trimspool on set linesize 300 set echo off set verify off select replace(to_char((sysdate-7),'YYYYMonDD')||'_' ||to_char((sysdate-1),'YYYYMonDD'),chr(10), '') from dual; exit; EOF` echo "test $dt$dt"
${var//a/}
Вы не должны использовать в последний раз/
,${var//a}
сделает точно то же. – rush 29.11.2012, 15:28